jetzt muss ich trotzdem nochmal nachfragen:
wie kann ich denn einen Record übertragen?
Ich hab mal folgendes im Sender gemacht:
Code:
type
CustomRec = record
S: String[50];
B: Boolean;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Rec: CustomRec;
begin
//
with Rec do
begin
S := Edit1.Text;
B := CheckBox1.Checked;
end;
with aCopyData do
begin
dwData := 0;
cbData := sizeof(Rec) + 1;
lpData := Pointer(Rec);
end;
// Fenster anhand des Titelzeilentext suchen
hTargetWnd := FindWindowEx(0, 0, nil, PChar('Empfänger'));
If hTargetWnd <> 0 then
SendMessage(hTargetWnd, WM_COPYDATA, Longint(
Handle), Longint(@aCopyData))
else
ShowMessage('Kein Empfänger gefunden!');
Das problem hierbei ist bei "lbData := Pointer(Rec)".
Wie kann ich den Rec dort reinbekommen? (blöde Frage ich weiss
)
und beim Empfänger:
Code:
type
CustomRec = record
S: String[50];
B: Boolean;
end;
procedure TForm1.WMCopyData(var Msg: TWMCopyData);
var
sText: array[0..99] of Char;
Rec: CustomRec;
begin
// anzuzeigenden Text aus den Parametern generieren
StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
// Empfangenen Text ausgeben
label1.Caption := sText;
{
with Rec do
begin
Label1.Caption := S;
ALed1.Checked := B;
end;
}
end;
Wie kann ich beim Empfänger anstatt dem String (sText) den Rec auslesen?
mfg
Helmi