AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList x64 nicht nil

Ein Thema von venice2 · begonnen am 11. Feb 2020 · letzter Beitrag vom 12. Feb 2020
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

TStringList x64 nicht nil

  Alt 11. Feb 2020, 21:57
List sollte eigentlich nil sein ist sie aber nicht, erst bei expliziter Zuweisung

Delphi-Quellcode:
var
  List: TstringList
begin
  
  OpenFile(FileName, List);
end;
Kennt jemand das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.603 Beiträge
 
Delphi 12 Athens
 
#2

AW: TStringList x64 nicht nil

  Alt 11. Feb 2020, 22:00
List sollte eigentlich nil sein ist sie aber nicht, erst bei expliziter Zuweisung
Das ist so und war schon immer so. Abgesehen von reference-counted Typen werden Variablen nicht implizit initialisiert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: TStringList x64 nicht nil

  Alt 11. Feb 2020, 22:03
List sollte eigentlich nil sein ist sie aber nicht, erst bei expliziter Zuweisung
Das ist so und war schon immer so. Abgesehen von reference-counted Typen werden Variablen nicht implizit initialisiert.
In einer älteren Delphi Version ist es nicht so.
Hier ist meine Liste NIL auch ohne das ich extra
List := nil;

zuweise.

Versuch es einfach mal mit Delphi 2010 das Problem ist mir noch nie aufgefallen und auch noch nie aufgetreten.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#4

AW: TStringList x64 nicht nil

  Alt 11. Feb 2020, 22:05
Auch ältere Delphis dürften bei derartigem Code gewarnt haben, dass die Variable (möglicherweise) nicht initialisiert ist.

Grüße
Dalai
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#5

AW: TStringList x64 nicht nil

  Alt 11. Feb 2020, 22:07
Auch ältere Delphis dürften gewarnt haben, dass die Variable nicht initialisiert ist.

Grüße
Dalai
Nein!
Gehe ich mit der Maus über die Zeile wird mir unter D2010 NIL angezeigt in Delphi 10.3 List()
Und Warnungen sind nicht OFF

TStringList ist doch ein Klasse und wenn diese nicht initialisiert wird sollte diese NIL sein so wie es in D2010 der Fall ist.

Geändert von venice2 (11. Feb 2020 um 22:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#6

AW: TStringList x64 nicht nil

  Alt 11. Feb 2020, 22:13
Du hattest bisher einfach nur Glück. Lokale Variablen wurden - bis auf Ausnahmen - noch nie initialisiert. Dass (d)ein Delphi 2010 nicht warnt, ist vielleicht ein Bug, vielleicht auch eine Einstellungssache, vielleicht abhängig vom genauen Code.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#7

AW: TStringList x64 nicht nil

  Alt 12. Feb 2020, 11:05
Doch, gewarnt wurde da schon immer, wenn du sowas nicht initialisierst,

außer bei globalen Variablen oder als Objektfelder, aber die sind auch in x64 immer mit 0 initialisiert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 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 by Thomas Breitkreuz