![]() |
ShowModal überladen
Hi,
ich will die Funktion ShowModal eines Formulars überladen, damit ich zusätzlich einen Parameter mit übergeben kann. Allerdings habe ich das Problem das das ModalResult der überladenen Funktion immer 0 ist. Hier der Code:
Code:
Was mache ich Falsch?
...
private { Private-Deklarationen } public { Public-Deklarationen } function ShowModal(AParam : Integer): Integer; overload; end; ... function TfrmTest.ShowModal(AParam : Integer): Integer; begin inherited ShowModal; end; // iResult ist immer 0 iResult := frmTest.ShowModal(iTest); Danke! |
AW: ShowModal überladen
Sei froh, daß es "zufällig 0 ist.
Dich hat Delphi (der Compiler) doch bestimmt gewarnt, wegen dem undefinierten Funktionsergebnis. :stupid: Tja, aber wenn man vergißt das Vergebnis zuzuweisen, dann braucht man sich nicht zu wundern :zwinker:
Delphi-Quellcode:
.
Result := inherited ShowModal;
|
AW: ShowModal überladen
Hi und danke für die Antwort!
So klappts - ich dachte eigentlich das die Zuweisung des Results im vererbten Aufruf von ShowModal passiert. |
AW: ShowModal überladen
In der anderen Methde wird das das Result dieser anderen Methode zugewiesen.
Das Result deiner Methode wird damit natürlich nicht gesetzt. |
AW: ShowModal überladen
Ja jetzt wo du es sagst erscheint das sehr logisch :?
Danke nochmal für die erläuterung. |
AW: ShowModal überladen
Zitat:
Falls du deinen Code in einem Jahr anschaust könnte es durchaus sein, dass du einige WTFs ausrufst ("was hab' ich mir damals nur dabei gedacht?"). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz