[Delphi] Funkcja w Dll'u

0

Mam w Dll-u taką oto funkcje

function Info(x: integer): string;
begin
if x=1 then info:='AAAAA';
if x=2 then info:='BBBBB';
end;

kiedy wywołuje ją za pomocą tej procedury to co prawda dostaje tekst AAAAA albo BBBB ale przy okazji
dostaje też komunikat pod tytułem Access violetion bleble Program1.exe on read adress blebleble:

procedure TForm1.Button1Click(Sender: TObject);
var
DLL : THandle;
Info : function(x: integer):string;
s: string;
begin
DLL := LoadLibrary('test.dll');
try
@info := GetProcAddress(DLL, 'Info');
s:=Info(1);
finally
FreeLibrary(DLL);
end;
end;

Ma ktoś pomysł co z tym zrobić??
Z góry dzięki

0

Było coś takiego, że jak się jako rezultatów funkcji używa łańcuchów, to trzeba dodeklarowaćjakiś oduł... Nie wiem czy o to chodzi, ale spróbuj.. :-) --Delphi 4 + 6

Skysh The God, Your Slave

0

Trzeba do uses dodać chyba sharemem, ale i tak chyba lepiej używać PChar.---------------------------
Delphi 6

Pozdrówka

0

albo uzyj statycznych (krotkich) lancuchow--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

1 użytkowników online, w tym zalogowanych: 0, gości: 1