Einzelnen Beitrag anzeigen

VizeTE

Registriert seit: 31. Dez 2002
178 Beiträge
 
Delphi 5 Enterprise
 
#1

Rückgabewert von Sendmessage setzen

  Alt 18. Apr 2006, 08:51
Hallo,

ich möchte ein Message aus einem Dialog meines Programms an meine Hauptform senden und dann auf dessen Abarbeitung warten damit ich je nach Erfolg oder Mißerfolg entsprechend reagieren kann.

Ich hatte vor einiger Zeit bereits schon mal ein ähnliches Problem das ich jedoch nicht lösen konnte:(der alte Thread)

Damals hatte ich mich so beholfen, daß ich auf diese Message wiederrum mit einer Message geantwortet habe und dann einen Result-Code in den wParam schrieb. Jetzt stehe ich wieder vor dem gleichen Problem und würde dies gern ohne eine Antwort-Message lösen. Vielleicht hat ja jetzt jemand einen Tipp für mich.

In dem alten Thread wurde mir gesagt, daß ich beim abarbeiten der Message eine Record gibt, der ein Feld "Result" beinhaltet. Diesen sollte ich entsprechend setzen. Ein solches Feld habe ich nicht gefunden.
Hier mein Code:

Die Message an das Haupt-Formular sollte etwa so aussehen:

Delphi-Quellcode:
if not SendMessage(Application.Handle, MYMESSAGEID, Id, Mode) then
begin
  //Fehlerbehandlung
end;
Auf dem Haupt-Formular habe ich Application-Events-Komponente hinzugefügt und werte dort die entsprechende Message aus:

Delphi-Quellcode:
procedure TMainForm.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);
begin
  case Msg.Message of
    MYMESSAGEID: begin
                   ...
                   Msg.Result := true; //Msg hat jedoch kein Feld "Result"
                   Handled := true;
                 end;
  end;
end;
  Mit Zitat antworten Zitat