Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#7

AW: PostMessage mit WndProc oder WMCopyData/Record aus Thread heraus?

  Alt 3. Nov 2017, 16:03
Zitat:
Sendmessage wartet auf die Rückgabe PostMessage eben nicht!
SendMessage wartet auf die Rückgabe, also wird blockiert oder bin ich jetzt neben der Spur?
Ich muss auf keine Rückgabe warten. Ich möchte einfach nur die GUI aus einem Thread heraus aktualisieren ohne Synchronize verwenden zu müssen

WndProc zusammen mit Record und PostMessage:
Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var
 CopyData: PPostMessageData;
begin
 CopyData := New(PPostMessageData);
 CopyData.sString := 'String test';
 CopyData.sInt := 99;

 PostMessage(Handle, 50, 0, Integer(CopyData));
end;

procedure TForm1.WndProc(var msg: TMessage);
begin
 case msg.msg of
  50:
   begin
    ShowMessage('WndProc: ' + PPostMessageData(msg.LParam)^.sString);
   end;
 end;

 inherited;
end;
Was ist denn davon zu halten einen ganzen Record zu übergeben und immer mit New einen anzulegen?

Geändert von Glados ( 3. Nov 2017 um 16:06 Uhr)
  Mit Zitat antworten Zitat