17 Aralık 2024 Yazarı yhackup 0

.Net Ortamında geliştirilen dll içerisindeki fonksiyonu Delphi ile kullanmak.

Bazen bir projede bir iş yapmanız gerekir ancak kullandığınız yazılım dilinde bu işi yapmak biraz meşakatli iken farklı bir yazılım dilinde bu iş diğerine göre daha kolay olabilir.
 
Böyle durumlarda bazen paylaşılabilir/kullanılabilir dll yazmak çok daha mantıklı olur .
 
Örnek vermek gerekirse Güçlü bir şifreleme algoritması olan ( Gerçi Adamın birisi kırabilmiş bu şifreleme metodunu ama hala en güvenilir kripto sistemi sanırım) AES256’yı kullanarak bir veriyi ksiptolamam gerekiyordu ancak bu benim için bir deveye hendek atlatmaktan daha zordu.
 
Ancak bu işi C# tarafında yazmak benim için daha kolay olduğu için hızlıca bu tarafta dll yazıp delphi tarafında kullanmaya karar verdim ve bununla ilgili bir makale hazırladım umarım faydalı olur.
 
 
Oldukça Basit bir dil ile adım adım  .Net Ortamında geliştirilen dll içerisindeki fonksiyonu Delphi ile nasıl kullanılır bunu göstereceğim.
 
Öncelikle Visual Studio ‘da yeni bir Class Library projesi oluşturuyoruz.
 
 
 
 
 
Proje Oluştuktan Sonra, “Solution Explorer”  >  “Properties”  > “AssemblyInfo.cs”  Açıp, içerisinde, ComVisible ‘ı true yapıp ClassInterface(ClassInterfaceType.AutoDual)] Ekliyoruz.
 
[assembly: ComVisible(true)]
[assembly: ClassInterface(ClassInterfaceType.AutoDual)]
 
 
Daha Sonra Project > uygulamaadi Properties > Application > Assembly Information Adımlarındaki “Make assembly COM-Visible” tikini işaretliyoruz.
 
 
 
 
Daha Sonra Build Sekmesine geçip, “Register for COM interop” tikini işaretliyoruz
 
 
 
 
Sonrasında metodlarınızı/fonksiyonlarınızı yazıyoruz.
 
 
 
 
dll’imizi build ettiğimizde, dizinimize aşağıdaki uzantılarda 3 dosya oluşuyor. Eğer bu 3 dosyada  bir eksik var ise Properties adımlarınızı tekrar gözden geçirmelisiniz.
 
 
 
Artık Visual Studio ortamında işimiz kalmadı. Geçiyoruz Delphi tarafına, Yeni bir proje açıyoruz.
 
 
 
 
 
Sonra Dll’lerimizi uygulamamız ile aynı dizine koyup, Component > Import Component >Import a Type Library adımlarına giderek , aşağıdaki adımlarla Dll’imi import ediyoruz.
 
 
 
 
Va bize Nurtopu gibi bir Unit oluşturuyor. Ve fonksiyonumuzu ekliyor.
 
 
 
Ve Dll’imizi Kullanabiliyoruz.
 
 
Tabi free etmeyi unutmuyoruz :)
 
Dip Not: Bu dll projesini kullanacağımız bilgisayarda, dll’imizi hangi Framework’te yazıyor isek, Kuracağımız bilgisayarda aynı .NET Framework sürümü kurulu olmalı. Ve Dll Registry edilmeli.
 
DLL’leri register etmek için Regasm.exe (Derleme Kayıt Aracı)  ‘nı kullanıyoruz.
 
cmd’yi “Yönetici olarak çalıştır” ‘rarak,
Kaydetmek için,
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\*********\Debug\yhackup.dll"


Silmek için,
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe /u "C:\*********\Debug\yhackup.dll"

 

 
Komutunu kullanıyoruz.
 
 
 
 

Olabildiğince basit bir makale olmuştur umarım.

Daha Fazlası İçin DeplhiCan Forum’a Bekleriz.

Saygılarımla…