Dann bekomme ich wieder beim zugriff auf sLogText eine Zugriffsverletzung.
Ich hab's jetzt so:
Senden:
Delphi-Quellcode:
procedure TComThread.SendMsgToMain(LogText: string; Debug: Boolean);
begin
LogMsg:=TLogMessage.Create;
LogMsg.sLogText:=LogText;
LogMsg.bIsDebug:=Debug;
SendMessage(FMainFormHandle, PM_MsgFromThread, Intptr(@LogMsg), 0);
end;
Empfangen:
Delphi-Quellcode:
var
f: TextFile;
fname: string;
P: ^TLogMessage;
fdebug: Boolean;
fLogText: string;
begin
P:=Pointer(msg.WParam);
fdebug:=P.bIsDebug;
fLogText:=P.sLogText;
//TLogMessage(p).free;
end;
Funktioniert auch gut. Aber ich müßte das Object auch mal wieder Freigeben. Aber das Problem ist, ich weißt nicht wirklich wie?
So wie oben? oder p.free?