delphi7 ye dll import etmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

delphi7 ye dll import etmek

Mesaj gönderen sadikacar60 »

arkadaşlar delphi7 de dosyadaki dll i import edip kullanmayı bir türlü kafam basmadı net de araştırdım 20 yerde aynı örnek var.

elimde c# örneği var örneği inceledim dll kullanarak işi halletmişler gayetde güzel çalışıyor acaba dedim aynı dll i delphi7 de kullanıp
programıma adepte edebilirmiyim.

netdeki aşagıdaki gibi bir örnek buldum ama burda bir prosedürü çağırıyor bütün dll i import edip kullanabilirmiyiz

Kod: Tümünü seç

procedure DllMesaj; external 'Testdll.dll';

implementation

saygılarımla


c# da kulanılan kodlar acıklayıcı olsun diye koydum

Kod: Tümünü seç

EasyModbus.dll 

using EasyModbus;

ModbusClient tcpclient = new ModbusClient(Convert.ToString(textBox1.Text), 502);
tcpclient.Connect(); 
tcpclient.WriteSingleCoil(0 + aa, bitvalue);
 tcpclient.WriteSingleRegister(0 + bb, Convert.ToInt32(textBox7.Text));
int[] mw = tcpclient.ReadHoldingRegisters(0 + b, 1);
bool[] mb = tcpclient.ReadCoils(0 + a, 1);
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: delphi7 ye dll import etmek

Mesaj gönderen sabanakman »

Dll ne dll'i. win32 (ya da win64) dll ise başka, .net .dll i ise başka yöntem kullanılması gerekmektedir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: delphi7 ye dll import etmek

Mesaj gönderen sabanakman »

Kullanılan dll .net üzerinde geliştirilmiş. .net dll lerini delphide kullanmak normal dll ler gibi değildir biraz farklıdır. .net dll lerini delphiden nasıl kullanıldığını incelemeniz gerekmektedir. Hatta bu .dll i kullanan aracı bir C# .dll i dahi yazmanız gerekebilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

Re: delphi7 ye dll import etmek

Mesaj gönderen sadikacar60 »

Tesekkur ederim iyi calismalar
ismailkocacan
Üye
Mesajlar: 88
Kayıt: 25 Eyl 2011 06:11
Konum: İstanbul
İletişim:

Re: delphi7 ye dll import etmek

Mesaj gönderen ismailkocacan »

sadikacar60 yazdı: 27 Ara 2018 11:19 arkadaşlar delphi7 de dosyadaki dll i import edip kullanmayı bir türlü kafam basmadı net de araştırdım 20 yerde aynı örnek var.

elimde c# örneği var örneği inceledim dll kullanarak işi halletmişler gayetde güzel çalışıyor acaba dedim aynı dll i delphi7 de kullanıp
programıma adepte edebilirmiyim.

netdeki aşagıdaki gibi bir örnek buldum ama burda bir prosedürü çağırıyor bütün dll i import edip kullanabilirmiyiz

Kod: Tümünü seç

procedure DllMesaj; external 'Testdll.dll';

implementation

saygılarımla


c# da kulanılan kodlar acıklayıcı olsun diye koydum

Kod: Tümünü seç

EasyModbus.dll 

using EasyModbus;

ModbusClient tcpclient = new ModbusClient(Convert.ToString(textBox1.Text), 502);
tcpclient.Connect(); 
tcpclient.WriteSingleCoil(0 + aa, bitvalue);
 tcpclient.WriteSingleRegister(0 + bb, Convert.ToInt32(textBox7.Text));
int[] mw = tcpclient.ReadHoldingRegisters(0 + b, 1);
bool[] mb = tcpclient.ReadCoils(0 + a, 1);
Bilindiği üzere delphi, c , c++ gibi diller "unmanaged" dillerdir..C# ise "managed" bir dildir.Yani bir run-time tarafından yönetilir. (Mscoree.dll)
Unmanaged dillerde export gibi yönegelerle yazdığınız fonksiyonları başka uygulamalardan çağrılabilir hale getirebilirsiniz..net dillerinde ise bildiğim kadarıyla doğrudan bu tür direktifler yok.Fakat harici araçlar ile MSIL kod tekrardan düzenlenerek, fonksiyonların EAT( Export adress table) a yazılarak kullanılması mümkün olabiliyor.

Sadetle aramanızda ki mesafeyi kısaltacak olursak;
Aşağıdaki anahtar kelimeleri araştırabilirsiniz.
IL Spy, dnSpy, .net unmanaged exports
Kolay gelsin.
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

Re: delphi7 ye dll import etmek

Mesaj gönderen sadikacar60 »

teşekkürler hocam saygılar
Cevapla