Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktionsrückgabe ignorieren (https://www.delphipraxis.net/162147-delphi-funktionsrueckgabe-ignorieren.html)

gammatester 9. Aug 2011 15:03

AW: Delphi Funktionsrückgabe ignorieren
 
Zitat:

Zitat von sddfg (Beitrag 1115797)
:wall: Naja dann werden die Abnehmer halt damit leben müssen dass die Variablen mit den Rückgabewerten nicht weiter verwendet werden..

Nein, man nehme zB
Delphi-Quellcode:
if MessageDlg('Blub', mtInformation, [mbOk], 0)= mrOk then {nix};

DeddyH 9. Aug 2011 15:04

AW: Delphi Funktionsrückgabe ignorieren
 
Letztendlich sind aber alle Vorschläge zwangsweise genauso sinnfrei wie die Vorgabe, oder?

stahli 9. Aug 2011 15:34

AW: Delphi Funktionsrückgabe ignorieren
 
Zitat:

Zitat von sddfg (Beitrag 1115791)
Naja so Funktioniert es ja gerade nicht, weil MessageDlg ja eine Funktion ist und der Rückgabewert iwie behandelt werden muss.

M.E. war das irgendwann früher mal so und ist dann (vor einigen Jahren) abgestellt worden.

himitsu 9. Aug 2011 16:07

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.

p80286 9. Aug 2011 16:13

AW: Delphi Funktionsrückgabe ignorieren
 
Zitat:

Zitat von gammatester (Beitrag 1115815)
Nein, man nehme zB
Delphi-Quellcode:
if MessageDlg('Blub', mtInformation, [mbOk], 0)= mrOk then {nix};

wenn schon denn schon
Delphi-Quellcode:
rval:=MessageDlg('Blub', mtInformation, [mbOk], 0);
if rval<> mrOk then
  ShowMessage('unexpected data in dialog received:'+inttohex(integer(rval),4));
Das macht sich zumindestens im Quelltext gut, und wenn die Meldung dann kommt......

Gruß
K-H

Memnarch 9. Aug 2011 16:33

AW: Delphi Funktionsrückgabe ignorieren
 
Zitat:

Zitat von DeddyH (Beitrag 1115808)
Im Ausgangspost ist Delphi 2010 angegeben.

Ach mist...hatte angefangen die antwort zu schreiben, wollte dan schnell nachgcuekn welche version und ab in den posts die unterm editor angezeigt werden nachgeguckt..da hab ichs im eingangspost nicht gesehen(die info war da glaub ich ausgeblendet >.<)

Zitat:

Letztendlich sind aber alle Vorschläge zwangsweise genauso sinnfrei wie die Vorgabe, oder?
Waren die vorgaben nicht schulischem ursprungs? Das würde doch dann schon alles sagen....


MFG
Memnarch

DeddyH 9. Aug 2011 16:35

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:

BUG 9. Aug 2011 18:17

AW: Delphi Funktionsrückgabe ignorieren
 
OT:
Zitat:

Zitat von DeddyH (Beitrag 1115849)
Man kann eben aus Sch***e keine Schokolade machen, Farbe und Form bekommt man zur Not noch hin, der Geschmack bleibt aber leider :roll:

Schokolade vielleicht nicht :shock:

Ralf Kaiser 9. Aug 2011 18:31

AW: Delphi Funktionsrückgabe ignorieren
 
Zitat:

Zitat von BUG (Beitrag 1115855)
OT:
Zitat:

Zitat von DeddyH (Beitrag 1115849)
Man kann eben aus Sch***e keine Schokolade machen, Farbe und Form bekommt man zur Not noch hin, der Geschmack bleibt aber leider :roll:

Schokolade vielleicht nicht :shock:

Oh Mann... Sachen gibts. Schlimmer ist nur noch Soylent Green...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz