DDE adatátvitel

Top  Previous  Next

Két proggi így komunikálhat egymással legegyszerübben. A dde adatátvitel egy kényes dolog, na meg idegölő is. Legtöbb esetben maga a Delphi is bezavar, vagyis akkor működik rendesen, ha már nem felügyeli a Delphi. Legalábbis nálam.

A server nevü applikációt ha elindítjuk, akkor az magától elindítja a server applikációt is, feltéve, hogy még nem volt elindítva, és egy ugyanabban a mappában legyen.

Az első proggi befordítva: server.exe

A második proggi: Project1.exe  (itt nem számít a név)

 

Az egyik applikáció: server (server.exe <-- befordítva)

 

procedure TForm1.FormCreate(Sender: TObject);

begin

ddeserveritem1.ServerConv:=ddeserverconv1;

end;

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

ddeserveritem1.Text:=edit1.Text;

end;

 

procedure TForm1.DdeServerItem1PokeData(Sender: TObject);

begin

edit1.Text:=ddeserveritem1.Text;

end;

---------------------------------------------------------------------------------

A másik applikáció: kliens

 

procedure TForm1.FormCreate(Sender: TObject);

begin

ddeclientconv1.FormatChars:=true;

ddeclientconv1.ConnectMode:=ddemanual;

ddeclientitem1.DdeConv:=ddeclientconv1;

ddeclientitem1.DdeItem:='DdeServerItem1'; <--fontos a kisbetü/nagybetü!!!!!

ddeclientconv1.ConnectMode:=ddeautomatic;

ddeclientconv1.SetLink('server','ddeserverconv1');

end; ahol "server" a másik applikáció neve (server.exe)

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

ddeclientconv1.PokeData('ddeserveritem1',pchar(edit1.text));

end;

 

procedure TForm1.DdeClientItem1Change(Sender: TObject);

begin

edit1.Text:=ddeclientitem1.Text;

end;