Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#1

Record in Event als VAR zurückliefern > Integer immer 0

  Alt 15. Sep 2007, 22:36
N'abend zusammen!

vielleicht könnt ihr mir bei folgendem Problem helfen:

Ich feuere innerhalb eines Threads ein Event, um den
Benutzer auf etwas hinzuweisen und ggf. reagieren zu lassen.
Die Antwort soll im übergebenen aMsgEvent (Record) wieder
die Interger-ID der Antwort speichern, z.B. IDCANCEL;


Delphi-Quellcode:
procedure TForm1.JobMsgEvent(var aMsgEvent: TMsgEvent); // Alternative Version
procedure TForm1.JobMsgEvent(aMsgEvent: TMsgEvent);
begin
  // Hier das Resultat der Abfrage übergeben
  aMsgEvent.ConfirmationResult:=
    Application.MessageBox(PAnsiChar(aMsgEvent.Msg,
      PAnsiChar(aMsgEvent.Desc), MB_OKCANCEL);
end;
Problem:
Der Wert in "aMsgEvent.ConfirmationResult" ist immer "0",
wenn ich das Record im Thread wieder auswerte.
Setze ich testweise einen String, wird dieser ordnungsgemäß
im Record gespeichert.


Ich dachte, ein Record wird bereits als Referenz übergeben?
Und auch ein (var sMgEvent: TMsgEvent) im Event hatte nichts
bewirkt.

Kann es sein, dass der Datentyp Integer innerhalb des Records
nicht als Referenz übergeben wird oder ist das ein grundsätzlicher
Denkfehler?

Notfalls werde ich halt ein TObject nehmen.


Aber vorher höre ich gerne Eure Meinungen
Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat