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.