Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi ile .Net Ortamında geliştirilen dll içerisindeki fonksiyon kullanımı
#11
(27-09-2017, Saat: 14:26)yhackup Adlı Kullanıcıdan Alıntı: Bir Kredi kartı güvenliği için Şifreleme işlemleri yapmam icap etti , Açıkcası Delphi tarafında zorlandım.
Baktım .Net tarafında daha kolay. Bir dl hazırlayıp Dephi tarafında bu dll içerisindeki fonksiyonu kullandım.

Oldukça Basit bir dil ile adım adım nasıl kullanılır bunu göstereceğim.

Öncelikle Visual Studio 'da yeni bir Class Library projesi oluşturuyoruz.
V3L58y.png

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)]

V3L5Ry.png

Daha Sonra Project > uygulamaadi Properties > Application > Assembly Information Adımlarındaki "Make assembly COM-Visible" tikini işaretliyoruz.

GykQgV.png

Daha Sonra Build Sekmesine geçip, "Register for COM interop" tikini işaretliyoruz

kXg3Qv.png


Sonrasında metodlarınızı/fonksiyonlarınızı yazıyoruz.

d72zgZ.png

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.

0GkjoD.png

Artık Visual Studio ortamında işimiz kalmadı. Geçiyoruz Delphi tarafına, Yeni bir proje açıyoruz.

6yk7zW.png



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.

o6ZPvm.png


Va bize Nurtopu gibi bir Unit oluşturuyor. Ve fonksiyonumuzu ekliyor.

GykQdZ.png

Ve Dll'imizi Kullanabiliyoruz.

By0mqp.png

Tabi free etmeyi unutmuyoruz Smile

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.

bL2Qp8.png


Olabildiğince basit bir makale olmuştur umarım.
Saygılarımla...
Merhaba öncelikle emeğinize sağlık. Benim bir sorum olacak. Delphi de yazılmış bir exe üzerinde çalışan .net dll form da textbox lar arası tab ile geçiş olmuyor. Aynı dll .net de yazılmış bir winform dan açıldığında sorunsuz tab geçişleri oluyor. Benzer durum delphide yazılmış bir com obj yine delphi de yazılmış exe üzerinde açıldığında sorunsuz çalışıyor tab stoplar.ve exe formu minimize edince delphide yazılmış dll form da exe ile beraber kayboluyor fakat .net dll form bağımsız bir şekilde aktif olarak kalıyor bu sorunu nasıl çözebilirim yardımcı olabilirseniz çok sevinirim
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Kendinden İmzalı Dijital Sertifikalar ve Socket Uygulamalarında Kullanımı delphi.developer 15 2.515 31-10-2023, Saat: 23:30
Son Yorum: nguzeller
  Delphi ve Protocol Buffers SimaWB 10 6.904 10-12-2022, Saat: 15:04
Son Yorum: SimaWB
  Delphi AES 128 ECB PKCS5 Padding ile sorun aegean 1 836 28-11-2022, Saat: 13:07
Son Yorum: aegean
  Delphi IDE'sine Eklenti Yapmak - 2 SimaWB 29 21.991 03-07-2022, Saat: 16:40
Son Yorum: enigma
  Delphi ile İşletim Sistemi Yazımı PROGRAMADOR35 13 8.182 26-09-2021, Saat: 21:29
Son Yorum: ekremkocak



Konuyu Okuyanlar: 1 Ziyaretçi