Procedura z dll z parametrem

0

Piesze sobie taka procedure:

library Project1;

uses
SysUtils,
Classes;

{$R *.res}
procedure szyfrowanie(plik,kodzik:string);stdcall;
begin
*tu sie szyfruje plik
end;

exports
szyfrowanie name 'szyfr';

begin
end.

a w programie wstawiam cos takiego:
procedure TForm1.Button1Click(Sender: TObject);
var
DLL : THandle;
proc : procedure;
begin
DLL := LoadLibrary('aaa.dll');
try
@proc := GetProcAddress(DLL, 'szyfr');
if @proc = nil then raise Exception.Create('Bład - nie mogę znaleźć proceudry w bibliotece!');
proc(); *tu nie moge podac tych wartosci jakie deklarowalem w dllce
finally
FreeLibrary(DLL);
end;

Chyba wiecie o co mi chodzi. Zeby procedura z dllki byla wywolywana z parametrem. Wie ktos moze jak to zrobic?
end;
--pozdrawiam PEDROS {hello}
Delphi6

0

Raczej powinno być tak:
proc : procedure ( plik , kodzik : string) ; stdcall;
i jeszcze jedno lepiej zrób zmienne plik , kodzik typu PChar ;)--Pozdrowienia {hello}
Chodek ;)
Delphi 6

0

Przykro mi ale chyba nie powinno tak byc bo mi wywala blad ;( --pozdrawiam PEDROS {hello}
Delphi6

0

A zmieniłeś w procedurze zmienne na typ PChar?? Bo jak nie to pewnie masz EAccessViolation ;)--Pozdrowienia {hello}
Chodek ;)
Delphi 6

0

Zmienilem zmiennac na pchar i nadal nie dziala :( --pozdrawiam PEDROS {hello}
Delphi6

0

na moje oko, to powinienes exportować nie tylko szyfruj ale szyfruj(plik,kod:Pchar) popraw mnie, jak sie mylę--Spin
(Delphi 5 Enterprise)

0

library Project1;

uses
SysUtils,
Classes;

{$R *.res}
procedure szyfrowanie(plik,kodzik:string);stdcall;
begin
//tu sie szyfruje plik
end;

exports szyfrowanie name 'szyfr';

begin
end.


procedure TForm1.Button1Click(Sender: TObject);
var
DLL : THandle;
proc : procedure(plik,kodzik: string);
begin
DLL := LoadLibrary('aaa.dll');
try
@proc := GetProcAddress(DLL, 'szyfr');
if @proc = nil then raise Exception.Create('Bład!');
proc({tutaj wstaw parametry});
finally
FreeLibrary(DLL);
end;
end.

U mnie dziala!
Jak u Ciebie nie dziala to napisz do mnie maila:
[email protected] ( napisz jakiego Delphi uzywasz )

Tomasz Wojcik

0

Niestety mi nadal nie dziala ;( przy wyciaganiu dynamicznym. Ale gdy sprobwalem statycznie to zadzialalo {brawo} . Wolalbym uzywac sposobu dyamicznego, ale jak sie nie ma co sie lubi to sie lubi co sie ma &lt= (jedno z ulubionych powiedzonek mojej nauczycielki od gegry :-) )--pozdrawiam PEDROS {hello}
Delphi6

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