![]() |
Delphi-Version: 2010
Delphi Funktionsrückgabe ignorieren
Hallo ich möchte mit MessageDlg eine Meldung ausgeben, allerdings benötige ich den Rückgabewert nicht. Wenn ich dafür eine extra Variable deklariert gibt Delphi den Hinweis aus, dass der zugewiesene Wert niemals benutzt wird. Ich möchte jedoch auch nicht auf showMessage ausweichen, da man diese vom Aussehen her nicht so schön ist. Gibt es irgendeine Möglichkeit MessageDlg zuverwenden und die Rückgabe so zu ignorieren dass man keine Hinweis-Meldung erhält?! Gruß
|
AW: Delphi Funktionsrückgabe ignorieren
Klar...
Code:
MessageDlg('Blub', mtInformation, [mbOk], 0);
|
AW: Delphi Funktionsrückgabe ignorieren
Naja so Funktioniert es ja gerade nicht, weil MessageDlg ja eine Funktion ist und der Rückgabewert iwie behandelt werden muss.
|
AW: Delphi Funktionsrückgabe ignorieren
"Erweiterte Syntax" einschalten
Entweder in den Projektoptionen oder mit {$X+} Ist eigentlich schon seit ewigen Versionen per default eingeschaltet. |
AW: Delphi Funktionsrückgabe ignorieren
Nein, muss er nicht. Du kannst die Funktion auch aufrufen ohne Ihren Rückgabewert irgendwohin zuzuweisen.
|
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
[edit] Wo war der rote Kasten? [/edit] |
AW: Delphi Funktionsrückgabe ignorieren
Ahh ok wenn ich "Erweiterte Syntax" einschalte kann der Rückgabewert einer Funktion ignoriert werden. Schade nur dass in der Aufgabenstellung der Uni steht, das diese Option ausgeschaltet werden soll :wall: Naja dann werden die Abnehmer halt damit leben müssen dass die Variablen mit den Rückgabewerten nicht weiter verwendet werden..
|
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
![]() Naja, die Theoretiker der Uni :roll: Wahrscheinlich sollst du die Zeiger ordentlich dereferenzieren :D |
AW: Delphi Funktionsrückgabe ignorieren
@sddfg: welches Delphi benutzt ihr den o.O.
Mir war gar nicht beuwst dass es überhaupt sone einstellung gibt.(ist default on) |
AW: Delphi Funktionsrückgabe ignorieren
Im Ausgangspost ist Delphi 2010 angegeben.
|
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
Delphi-Quellcode:
if MessageDlg('Blub', mtInformation, [mbOk], 0)= mrOk then {nix};
|
AW: Delphi Funktionsrückgabe ignorieren
Letztendlich sind aber alle Vorschläge zwangsweise genauso sinnfrei wie die Vorgabe, oder?
|
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
|
AW: Delphi Funktionsrückgabe ignorieren
Erweiterte Syntax: Wenn diese eingeschaltet ist und man den Rückgabewert nirgends zuweist, dann legt delphi quasi eine interne lokale Variable dafür an.
Bei Integer und Co. ändert das also nichts, da der Wert dann gleich verfällt, wie bei jeder Variable, welcher man etwas zuweist und diese danach nicht mehr abfragt ... dann optimiert das Delphi ja auch weg. Für String, Interface, und anderen größeren Structuren, wie z.B. Arrays und Records, bleibt halt diese interne "lokale" Variable solange erhalten, bis die Funktion beendet ist. Seit mindestens Delphi 7 ist die Erweiterte Syntax aber standardmäßig aktiviert. |
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
Delphi-Quellcode:
Das macht sich zumindestens im Quelltext gut, und wenn die Meldung dann kommt......
rval:=MessageDlg('Blub', mtInformation, [mbOk], 0);
if rval<> mrOk then ShowMessage('unexpected data in dialog received:'+inttohex(integer(rval),4)); Gruß K-H |
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
Zitat:
MFG Memnarch |
AW: Delphi Funktionsrückgabe ignorieren
Man kann eben aus Sch***e keine Schokolade machen, Farbe und Form bekommt man zur Not noch hin, der Geschmack bleibt aber leider :roll:
|
AW: Delphi Funktionsrückgabe ignorieren
OT:
Zitat:
![]() |
AW: Delphi Funktionsrückgabe ignorieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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-2025 by Thomas Breitkreuz