Registriert seit: 18. Mär 2005
1.682 Beiträge
Delphi 2006 Enterprise
|
Re: Rückgabewert von Sendmessage setzen
18. Apr 2006, 09:13
Hallo,
mit Records funktioniert das so:
Delphi-Quellcode:
type // Record definieren
TMsgRecord = record
Daten: Integer;
NochMehrDaten: Integer;
Ergebnis: Integer;
end;
PMsgRecord = ^TMessageRecord // Einen Pointer definieren
Delphi-Quellcode:
procedure Send;
var
MsgRecord: TMsgRecord;
begin
MsgRecord.Daten := 12345;
MsgRecord.NochMehrDaten := 98765;
MsgRecord.Ergebnis := 0;
// Message senden, wParam = Pointer auf Record
if not SendMessage(Application.Handle, MYMESSAGEID, @MsgRecord, 0) then
begin
//Fehlerbehandlung
end else
begin
// Erfolg, Ergebnis steht in MsgRecord.Ergebnis
end;
end;
Delphi-Quellcode:
procedure TMainForm.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);
var
MsgRecord: PMsgRecord;
begin
case Msg.Message of
MYMESSAGEID:
begin
MsgRecord := PMsgRecord(Msg.wParam); // Record holen
...
MsgRecord.Ergebnis := 1; // Erfolg
Handled := true;
end;
end;
end;
Gruß
xaromz
|