Delphi Can

Orjinalini görmek için tıklayınız: Delphi ile .Net Ortamında geliştirilen dll içerisindeki fonksiyon kullanımı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
(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
Sayfalar: 1 2