procedure Tconsole.SendMSG(OutMsg:pbyte;len:integer);
var
  OutMsg1:string;
  ds: TCopyDataStruct;
  hd: THandle;
  Err:integer;
  i:integer;
begin
ds.cbData :=len;
GetMem (ds.lpData, sizeof(byte)*ds.cbData+ 1 ); 
copyMemory(pbyte(ds.lpData),Outmsg,len);
ds.lpData:=pbyte(integer(ds.lpData)+1);
hd:=0;
Hd:=FindWindow(pchar('TFORM'),nil); 
if Hd <> 0 then
   Err:=SendMessage (Hd, WM_COPYDATA, Handle ,Cardinal(@ds)); 
if Err=0 then
   i:=i+1;
FreeMem (ds.lpData); end;
结果Err总等于0,为什么会这样???