Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Der gute alte format Befehl (https://www.delphipraxis.net/157105-der-gute-alte-format-befehl.html)

himitsu 30. Dez 2010 09:12

AW: Der gute alte format Befehl
 
Nja, String, dynamische Arrays und Interfaces werden Initialisiert,
da hier Delphi die Speicherverwaltung übernimmt.
Ohne Initialisierung würde Delphi ja nie wissen, ob es was freigeben muß.






Beim String als Result, liegt dieses Problem darin behaftet, daß Delphi dieses intern in einen VAR-Parameter umwandelt.

Delphi-Quellcode:
function Test(Param1: Integer): String;
sieht also eigentlich so aus
Delphi-Quellcode:
procedure Test(Param1: Integer; var Result: String);
.

Der String selber wird also initialisiert, aber da eine interne lokale Variable an der aufrufenden Stelle genutzt wird, kommt es hier nun zu diesesm netten Phänomen.

Aphton 30. Dez 2010 12:54

AW: Der gute alte format Befehl
 
Ohh gut das einmal bestätigt zu bekommen. Hab das letztens auch mal bemerkt.
Um auf der sicheren Seite zu sein, sollte man einfach alles initialisieren. Falls das sowieso automatisch gemacht wird, wird es codemäßig wahrscheinlich wegoptimiert. Von dem her kann man damit nichts falsch machen.

MfG

Luckie 30. Dez 2010 12:56

AW: Der gute alte format Befehl
 
Ich finde, man sollte sich nicht immer auf die compiler magic verlassen, bzw. sie herausfordern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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