Komunikaty - odebranie odpowiedzi

0

Hej!
Mam problem pewnie jest on banalny. Chodzi o to, ze mam dzialajace aplikacje klient-serwer na zasadzie komunikatow. Komunikat jest ladnie wysylany i odpierany przez druga aplikacje. Chodzi mi jednak o to w jaki sposob moge odebrac odpowiedz po otrzymaniu komunikatu?
Tutaj wysylam komunikat:

procedure TSerwer.Button1Click(Sender: TObject);
var
  res:integer;
  receiverHandle : THandle;
  stringToSend : string;
  copyDataStruct : TCopyDataStruct;
begin
  stringToSend := 'testujemy';

  copyDataStruct.dwData := 0; //use it to identify the message contents
  copyDataStruct.cbData := 1 + Length(stringToSend) ;
  copyDataStruct.lpData := PChar(stringToSend) ;

  receiverHandle := FindWindow(nil, PChar('Klient')) ;

  if receiverHandle = 0 then
  begin
    ShowMessage('CopyData Receiver NOT found!') ;
    Exit;
  end;

  res := SendMessage(receiverHandle, WM_COPYDATA, Integer(Handle), Integer(@copyDataStruct)) ;
end;

A tutaj odbieramy:

procedure TKlient.WMCopyData(var Msg: TWMCopyData) ;
var
  s: string;
begin
  s := PChar(Msg.CopyDataStruct.lpData) ;

  //Send something back
  Memo1.Lines.Add(s);
  msg.Result := 1;
end;

Wydaje mi sie ze msg.Result jest odpowiedzia (mam racje?). Jezeli tak to w jaki sposob odebrac ta odpowiedz przez pierwsza aplikacje?

pozdrawiam!

1

No przecież wartość msg.Result zwraca funkcja SendMessage
PS: Nic nie napisałeś tylko poskładałeś kawałki kodu z http://delphi.about.com/od/windowsshellapi/a/wm_copydata.htm

0

Dzieki;)
P.S.
A gdzie ja napisalem ze cos napisalem?

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