Dll'i Çalıştıran uygulamadaki fonksiyonu kullanma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
lazymule
Üye
Mesajlar: 127
Kayıt: 16 Eki 2006 04:03
İletişim:

Dll'i Çalıştıran uygulamadaki fonksiyonu kullanma

Mesaj gönderen lazymule »

Merhabalar
Aşağıdaki gibi bir fonksiyonum var ben bunu uygulama içesinde kullandığım bir dll tarafından çalıştırmak ve sonucunu almak istiyorum bilgisi olan arkadaşlar yardımcı olursa sevinirim.
plugin şeklinde buldum fakat tam bir çözüme ulaşamadım.

Kod: Tümünü seç

function TForm1.TestFoo(Deger1: Integer; Deger2: String): Integer;
begin
    Result := 0;
    // işlemler
end;
Evrende Ulaşılamayacak Tepe Yoktur !!!!
Yeterki İnsan Ulaşmak İstesin !!!!
http://www.maxiteknik.com
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: Dll'i Çalıştıran uygulamadaki fonksiyonu kullanma

Mesaj gönderen Jire »

Ben Google'dan öğrendim.

Bu ingilizcesi. Türkçe istiyorsan arkadaşlar yardım edebilir.
http://delphi.about.com/od/windowsshell ... basics.htm

Ama yine de kısa bilgi vereyim.
Üst kod senin DLL'in.
Alt kod senin ana projen.

Kod: Tümünü seç

var
   Form1: TForm1;

  procedure DllMessage; external 'SimpleMessageDLL.dll'
Burada Form1'in altındaki DIŞARIDAN YÜKLEDİĞİN DLL'in DllMessage prosedürünü kullanması için yazılmış bir satır.
Fonksiyon içinde aynı şey geçerli.
Bu dll'ler her zaman başta yüklenir bulundurmaz isen hata verir :D.
Dinamik olarak yüklemek istersen birisi dinamik olarak istemişti, cevabını vermiştim. Araştırırsan bulursun.

Düzenleme:
DLL yaratmak için yukarıdan File>New>Other>DLL Wizard'dan yeni dll oluşturabilirsin.
Derlemek için CTRL+F9'a basman yeterli.
Kullanıcı avatarı
lazymule
Üye
Mesajlar: 127
Kayıt: 16 Eki 2006 04:03
İletişim:

Re: Dll'i Çalıştıran uygulamadaki fonksiyonu kullanma

Mesaj gönderen lazymule »

@Jire cevabın için saol yalnız yapmak isteğim olay biraz farklı dll ile ilgili bir parça bilgiye sahibim.

Program çalışsın > sonra dll dosyayı yükleyelim dll de çalışmaya başladı > dll bir olayı gerçekleştirdiğinde kendini çalıştıran exe'de bulunan bir Fonksiyonu tetklemesini istiyorum. aslında basit bir çözüm buldum ama pek aklıma yatmadı daha akılcı bir çözüm arıyorum.

Kod: Tümünü seç

//Exe dosyamdaki fonksiyonuda  exports ile dışarı veriyorum
function TestFoo(Deger: string): Integer; stdcall;

Exports
TestFoo;

//Sonra hafıya aldığım / çalışan dll den onu tetikliyorum / çalıştırıyorum 
function TestFoo(Deger: string): Integer;  stdcall; external 'Project1.exe' name 'TestFoo';

procedure TfrmDllForm.Button1Click(Sender: TObject);
begin
Caption := IntToStr( TestFoo('deneme'));
end;
Evrende Ulaşılamayacak Tepe Yoktur !!!!
Yeterki İnsan Ulaşmak İstesin !!!!
http://www.maxiteknik.com
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Dll'i Çalıştıran uygulamadaki fonksiyonu kullanma

Mesaj gönderen aslangeri »

s.a.
belki dlle istediğin fonksiyonu çalıştıran bir sınıfı parametre olarak verirsen istediğin şeyi yapabilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla