Plug-in, DLL

0

Jak można stworzyć plugin do programu w formie DLL?

0

przeczytaj artykul o dll'ach
http://www.4programmers.net/delphi/dll.html

po przeczytaniu tego textu powinien ci przyjsc do glowy pomysl...
jak nie przyjdzie to odpisz w poscie, naskrobe ci jakis przyklad


Delphi 5

Pozdrawiam

0

Wszystkie Dllkie-pluginy powinny exportowac te same procedury przykladowo

library Project1;

uses
SysUtils, Classes;

function KtoTy: PChar;
begin
Result:='Plugin taki sobie';
end;

exports
KtoTy index 0;

begin

end.

*Teraz w programie dajesz np.
function SprawdzDll(Nazwa: String): String; * to do prvate declarations

function TForm1.SprawdzDll(Nazwa: String): String; *a to gdzies w kod
var
DLL : THandle;
KtoTy : function: PChar;
begin
DLL := LoadLibrary(PChar(Nazwa));
try
@KtoTy := GetProcAddress(DLL, 'KtoTy');
if @KtoTy = nil then Result:='' else Result:=KtoTy;
finally
FreeLibrary(DLL);
end;
end;

*dorzucasz np. filelistboxa, z maska *.dll i w kod dubleklika dajesz

procedure TForm1.FileListBox1DblClick(Sender: TObject);
begin
ShowMessage(SprawdzDll(FileListBox1.Items.Strings[FileListBox1.ItemIndex]));
end;

takie cos spowoduje uruchomienie funkcji KtoTy z wybranego z filelistboxa dllka. jakby sie kto pytal czemu akurat funkcja SprawdzDll zwraca Stringa to powiem ze to kawalek z mojego mp3 playerka :P

--
sys:> logout....

0

bylem pierwszy :P
i juz jest po problemie...ide pisac wlasna obslugo pluginów :-) :-) ----- -- -
Delphi 5

Pozdrawiam

0

dchcorp napisał:
&gtbylem pierwszy :P

No i z czego sie tak cieszysz? :D --sys:> logout....

0

a coś ty taki drazliwy :-) :-) :-)----- -- -
Delphi 5

Pozdrawiam

0

dchcorp napisał:
a coś ty taki drazliwy :-) :-) :-)

A bo zostawilem blad w kodzie :P :P :P :P

jak ktos ma moc czynienia dobra to niech zamieni to:
function TForm1.SprawdzDll(Nazwa: string): string; * to do prvate declarations
na to :
function SprawdzDll(Nazwa: string): string; * to do prvate declarations
--sys:> logout....

0

Sheitar juz zmienilem hehe :)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

W dziale kody zrodlowe jest taki przyklad...--Pozdrawiam!
Adam Boduch
www.4programmers.net

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