AW: TStringList x64 nicht nil
Zitat:
|
AW: TStringList x64 nicht nil
Zitat:
@Steve hat da schon recht. Benötige ich ein und Ausgabe dann verwende ich 'var' ansonsten den entsprechenden Parameter bei nur Ausgabe out. Un wenn der Compiler hier keine Unterschiede macht (Warnungen betreffend) dann ist da was faul. |
AW: TStringList x64 nicht nil
Zitat:
Bei VAR kommt auch eine Meldung, denn die Variable muß initialisiert sein, damit der Code in der Funktion prüfen kann, ob dort etwas übergeben wurde. (if not assigned then create) Bei OUT geht der Compiler davon aus, dass nichts übergeben wird und somit muß die Variable auch nicht initiaisiert sein. |
AW: TStringList x64 nicht nil
Zitat:
Ich wiederhole mich ungern aber meine Warnungen sind eingeschaltet und ich behandle sie alle. (EDIT) Hätte ich also eine Warnung bekommen wäre diese behandelt worden und die Anwendung wäre nicht abgestürzt. Solche Probleme sind im Nachhinein sehr schwer zu finden. Unter den Voraussetzung hätte ich meine Frage hier gar nicht erst reinstellen müssen. |
AW: TStringList x64 nicht nil
Dann müssen die das aber irgendwann kaputt gemacht haben und sollten den Bug schnell wieder reparieren.
|
AW: TStringList x64 nicht nil
Die Diskussion über varParameter hat jetzt aber nichts mehr mit der ursprünglichen Fragestellung zu tun! Bitte führt sie an anderer Stelle weiter, wenn ihr weiter darüber diskutieren wollt.
|
AW: TStringList x64 nicht nil
Nja, es geht darum dass Variablen initialisiert werden müssen und dass der Compilier dort (eigentlich) auch Warnungen wirft (was aber auch nicht immer funktioniert), wenn man es vergessen hat.
|
AW: TStringList x64 nicht nil
Zitat:
Delphi-Quellcode:
an eine Funktion übergeben wird. Nur ein Zuweisen einer neuen Instanz benötigt
const
Delphi-Quellcode:
(oder
var
Delphi-Quellcode:
). Eine Variable auf eine TStringList hält doch nur einen Pointer auf einen Speicherbereich, was die Veränderung des Speicherbereichs (=Inhalte der TStringList) aber nicht verhindert.
out
Kurz gesagt: Überleg dir ganz genau, ob du das
Delphi-Quellcode:
wirklich brauchst.
var
Grüße Dalai |
AW: TStringList x64 nicht nil
Das worked offenbar as expected: Missing compiler warnings for uninitialized variables
Zitat:
|
AW: TStringList x64 nicht nil
Zitat:
out wurde erst mit Delphi 3 eingeführt. Vorher haben alle var verwenden müssen. Deshalb gibt es auch so viel Code, der var anstelle von out verwendet (never touch working code). Hätten sie bei der Einführung von out eine neue Warning eingeführt, wären sie von den Delphi-Programmierern gesteinigt worden. Vielleicht wäre es aber tatsächlich an der Zeit, zumindest optional eine solche Warning einzuführen. Wir haben schließlich 2020 und nicht mehr 1997. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr. |
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