Wie wärs denn so? Ich kapiere noch immer nicht wieso du diese Frage gerade stellst.
Delphi-Quellcode:
type
TPostMessageData =
record
sString:
string;
sInt: Integer;
end;
PPostMessageData = ^TPostMessageData;
Button1Click(Sender: TObject);
var
CopyData: TPostMessageData;
begin
CopyData.sString := '
String test';
CopyData.sInt := 99;
SendMessage(
Handle, WM_COPYDATA, 0, Integer(@CopyData));
end;
procedure TFormReceiver.WMCopyData(
var msg: TWMCopyData);
begin
ShowMessage(PPostMessageData(msg.CopyDataStruct).sString);
end;
So kann ich senden was ich will. Nur frage ich mich: besser das unflexible WndProc-Event nutzen oder das deutlich flexiblere WMCopyData (ersteres mit PostMessage, letzteres mit SendMessage).
Aus einem Thread heraus.
Wenn ich das richtig verstanden habe, blockiert SendMessage den Thread erst einmal. Auch wenn es nicht lange ist. PostMessage, da asynchron, macht das wohl nicht.