3
私は、カスタムVCLスレッドのフォームにワーカースレッドからの情報を交換するためにカスタムウィンドウメッセージを使用しています。私はこれを行うメッセージで、いくつかのデータを送信する必要があるとき:受信フォームDelphiのポインタメモリとフリーズ
try
myStrP := PntStr(MSG.LParam);
myfunction(myStrP^);
finally
Dispose(myStrP);
end;
で
type
PntStr = ^string;
その後、のPostMessage()
var
pointString : PntStr;
(...)
New(pointString);
pointString^ := mystring;
PostMessage(frmDest.Handle, UM_THREADMSG, UM_MYEVENT1, LPARAM(pointString));
これは正しい方法ですポインタによって割り当てられたメモリを処理するには?電話をかけるDispose()がポインタ上でメモリを解放しますか?