A:
procedure TForm1.Button1Click(Sender: TObject);
var
p: pChar;
i: integer;
begin
i := edit1.perform(wm_GetTextLength, 0, 0) + 1;
p := AllocMem(i);
edit1.perform(wm_GetText, i, longint(p));
edit2.perform(wm_SetText, 0, longint(p));
FreeMem(p, i);
end;