Ich habe jetzt wie folgt versucht die Daten von der
DLL an die Anwendung weiterzuleiten:
DLL:
Code:
type
TBNApaket = record
msg : DWord;
Data : PNotifyIconData;
end;
...
function SendData (paket : TBNApaket) : Boolean;
var aCopyData: TCopyDataStruct;
begin
with aCopyData do begin
dwData := 0;
cbData := Sizeof (paket);
lpData := @paket;
end;
SendMessage(FindWindow('TX11TBNA', nil), WM_COPYDATA, ??Was muss hier herein??, Longint(@aCopyData));
end;
function MY_NotifyIcon (dwMessage: DWORD; lpData: PNotifyIconData): BOOL; stdcall;
var tmp : TBNApaket;
begin
tmp.msg := dwMessage;
tmp.Data := lpData;
// ShowMessage (lpData.szTip);
SendData (tmp);
result := true;
end;
Anwendung:
Code:
procedure TX11TBNA.WMCopyData(var Msg: TWMCopyData);
var tmp : TBNApaket;
begin
tmp := (Msg.CopyDataStruct.lpData) as TBNApaket; ??Wie kann ich den zugesandten Pointer wieder einem
TBNA Record übergeben??
end;
Gruß Helen