Hallo Forum,
zur Zeit nehme ich diese Methode um Messages aus Threads heraus (OHNE SYNCHRONIZE!!!) an meine MainApp zu verschicken:
AUSSM THREAD:
Delphi-Quellcode:
{Message to Main --------------------------------------------------------------}
procedure PreProcessing_RED.PostToRedConsole(msg: shortstring);
var
msgstrptr: PShortstring;
begin
new(msgstrptr);
msgstrptr^ := msg;
postmessage(EyePiU_main.handle, RedMsg, integer(msgstrptr), 0);
end;
IN DER MAINAPP
Delphi-Quellcode:
{MessageFromChannelRed --------------------------------------------------------}
procedure TEyePiU_main.OnREDChannelMessage(var MR: TMessage);
var
msgstrptr: PShortstring;
begin
msgstrptr := ptr(MR.wparam);
memo_RED.lines.Insert(0, msgstrptr^);
dispose(msgstrptr);
end;
So klappts ohne Performanceeinbrüche.
Meine Frage nun...wie kann man ein Record oder ein Array statt einer Message übergeben? Und wie kommt man dann in der MainApp auf die einzelnen Record oder Array Elemente?