Dll Yazma Hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Muspelheim
Üye
Mesajlar: 1
Kayıt: 21 Ara 2011 02:08

Dll Yazma Hakkında

Mesaj gönderen Muspelheim »

Merhaba arkadaşlar ,
bir dll yazmaya çalışıyorum ama hatanın en dibine indiğim zaman sebebinin bu olduğunu düşündüm ama çözümümü bulamadım.
bir dll projesi açtım Delphi7 de.
kodu aynen şu şekilde ;

library Project1;

uses
SysUtils,
Classes;

{$R *.res}

function Isim(isim:string):string;
begin
Result:=isim;
end;

exports
Isim;
end.

daha sonra bu yazdığım dll i açtığım yeni projenin altına kopyaladım. dll i de şu şekilde çağırdım

procedure TForm1.Button1Click(Sender: TObject);
var
TYonetici:THandle;
Sonuc: function(isim:string):string;
dllname:string;
begin
dllname:=ExtractFilePath(Application.ExeName)+'Project1.dll';
if (FileExists(dllname)) then
begin
TYonetici:=LoadLibrary(pchar(dllname));
@Sonuc:=GetProcAddress(TYonetici,'Isim');
ShowMessage(sonuc('Asadasdafa'));
FreeLibrary(TYonetici);

end;
end;

Showmessage ile verdigim string i geriye donduruyor ama FreeLibrary e geldiğim zaman access violation u yapıştırıyor. Delphinin acemisiyim ama nedendir bi mantık erdiremedim. Yardımcı olabilecek arkadaş var ise sevinirim. Teşekkürler.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Dll Yazma Hakkında

Mesaj gönderen sabanakman »

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla