postmessage can't work ,but sendmessage work well
Original Reporter info from Mantis: happy_Lee
Description:
Lazarus: 0.9.30.2
====================================
Const
my1=WM_USER+100;
private
{ private declarations }
procedure show_1(var MSG: Tmessage);message my1;
procedure TForm1.Button1Click(Sender: TObject);
var
CopyDataStruct: TCopyDataStruct;
size:integer;
begin
Size := Length(edit1.text);
CopyDataStruct.lpData := PChar(edit1.text);
CopyDataStruct.dwData := my1;
CopyDataStruct.cbData := Size;
sendMessage(self.Handle, my1, 0, LPARAM(@CopyDataStruct)); // it's ok
// PostMessage(self.Handle,my1,0,LPARAM(@CopyDataStruct)); // doesn't work
end;
procedure TForm1.show_1(var MSG: Tmessage);
var
cdds : TcopyDataStruct;
begin
cdds := PcopyDataStruct(MSG.LParam)^;
edit2.Text := (Pchar(cdds.lpData));
end;
====================================================================
if use the "sendmessage", "edit2.text" can show the correct text;
if use the "postmessage", "edit2.text" can't show anything;
Mantis conversion info:
-
Mantis ID: 20852
-
Version: 0.9.30.2