Jump to content

Przesyłanie danych między aplikacją, a wtyczką


Jaro88PL

Recommended Posts

Witam

Od kilku dni uczę się pisania aplikacji która wspiera dodatki (tzn. wtyczki). Umiem już przekazać dane typu TStringList, WideString itp.z pliku DLL do aplikacji ale nie umiem przekazać tych danych z aplikacji do pliku DLL. Żeby np. pobrało tekst z kontrolki Edit umieszczonej w aplikacji i wyświetliło go w label lub edit na formie we wtyczce DLL.

Czy mógłby mi ktoś pomóc i łopatologicznie jak krowie na rowie pokazać jak to zrobić?

 

 

Mój kod do pobierania treści z pliku DLL:

library Wtyczka;

uses Windows;

 

procedure PobieranieTresci(var S: WideString); stdcall;

begin

S := 'Jakis tam tekst';

end;

 

exports

PobieranieTresci;

 

Plik EXE:

type

TPobieranieTresci = procedure(var S: WideString); stdcall;

 

var

PobieranieTresci: TPobieranieTresci;

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

DLL : THandle;

begin

DLL := LoadLibrary('wtyczka.dll');

try

@PobieranieTresci := GetProcAddress(DLL, 'PobieranieTresci');

if @PobieranieTresci=nil then raise Exception.Create('Bład - nie mogę znaleźć proceudry w bibliotece!');

PobieranieTresci(S);

Edit1.Text := S;

finally

FreeLibrary(DLL);

end;

end;

 

I tu wszystko ładnie działa. Czyli tekst z DLL jest wyświetlany w Edit1 umieszczonym na formie programu. Tylko pytanie jak to wykonać w drugą stronę. Czyli żeby np. treść pola Edit1 umieszczonego na formie była wyświetlana na kontrolce we wtyczce? Bardzo proszę o pomoc i jak wspomniałem wcześniej bardzo bym prosił o jakąś dosadną instrukcję bo walczę z tym od 2 dni i zero postępu. Dziękuję z góry za pomoc.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...