![]() |
wie gibt man "nix" zurück?
hoi,
ich habe eine funktion, ca so:
Delphi-Quellcode:
function bla: MyRecord
begin result := nix; { falls später ein fehler auftritt soll halt nix zurückgegeben werden } if irgendwas() then result := aRecord; end; ohne die erste zeile bekomme ich ja immer warnungen wie: "ergebnis könnte undefiniert sein" was tu ich dagen? sowas wie {$WARNINGS OFF} wollte ich eigentlich nich benutzen. |
Re: wie gibt man "nix" zurück?
nil hilft nicht?
|
Re: wie gibt man "nix" zurück?
dafür gibt es den ausdruck "nil"
das ist ein zeiger der sozusagen nirgendwo hinzeigt |
Re: wie gibt man "nix" zurück?
ne nil geht nicht, schon getestet
Zitat:
|
Re: wie gibt man "nix" zurück?
Wenn dein Rückgabetyp ein Record ist, dann wird auch ein Exemplar des entsprechenden Records zurückgeliefert. Entweder du stellst dein Design um oder du fügst deinem Record ein Feld hinzu, das anzeigt, dass der Record nicht gültig initialisiert ist.
|
Re: wie gibt man "nix" zurück?
probiert mal einem leeren string zu nehmen -> ''
wenn nichts passiert, weise einfach einen lehren string zu, du muesstest auch mal posten, vom was für einem typ TDBFile ist. so wie ich das vermute, ist es ein record, was sich aus verschiedenen datentypen zusammensetzt. warum willst du uberhaupt nicht zuweisen. ich wuerde es so machen, das ich den record bei programmstart mit vom mir definierten werten füttere, und du noch ne abfrage machst, das wenn halt diese werte drinsind then do nothing [edit=r_kerber]Doppelpost gelöscht. Mfg, r_kerber[/edit] |
Re: wie gibt man "nix" zurück?
Delphi-Quellcode:
TDBFileItem = record
irgendwas: string[12]; Password: TMD5Digest; fgjgj: string[255]; ghgj: string[255]; end; so sieht er aus [edit=r_kerber]Doppelpost gelöscht. Mfg, r_kerber[/edit] |
Re: wie gibt man "nix" zurück?
Hi,
Wo immer möglich würde ich persönlich anstelle von Records lieber Nachfahren von TObject benutzen , damit lässt sich imho viel besser arbeiten... |
Re: wie gibt man "nix" zurück?
hi,
ich würde dem record noch ein feld namens "error" (oder so ähnlich) hinzufügen. standardmäßig ist der wert 0. wenn ein fehler auftritt , dann ist der wert 1. nachdem die funktion aufgerufen wurde und ein record zurückgegeben hat, überprüfst du, ob error=0. wenn nicht, dann ist das zurückgeliferte record unbrauchbar ;) Aenogym |
Re: wie gibt man "nix" zurück?
eine klasse als rückgabewert?
aeneogm: danke, mal versuchen ;) auch an alle anderen danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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