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.
Dll Yazma Hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- 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
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .