Forum: Sonstige Fragen zu Delphi
by Stevie,
19. Feb 2014
Das hat er 2008 geschrieben, da war das vermutlich schon so. :)
Ich auch - und sollte auch so sein. Ich denke, das war ein Bug.
In "Delphi in a Nutshell" (von 2000 - also Delphi 5 Ära) heißt es auf Seite 395:
Witzigerweise gibt es trotzdem noch eine Warnung auf eine nicht initialisierte Variable, die ja eigentlich nicht kommen sollte, denn sie ist ja initialisiert :stupid:
Forum: Sonstige Fragen zu Delphi
by Stevie,
19. Feb 2014
Autsch, dann wird bei D7 wohl die globale Variable nicht initialisiert, wie bei späteren Versionen.
Forum: Sonstige Fragen zu Delphi
by Stevie,
17. Feb 2014
Objekte kann man nicht einfach benutzen, ohne eine Instanz davon zu erstellen, da sonst kein Speicher für die Felder allokiert wurde. Entweder knallt es direkt (wie es hier eigentlich sollte) oder du schreibst wild auf irgendnem Speicher rum - entweder merkst du es nicht, oder du bekommst irgendwann später die Quittung, wie scheinbar in deinem Fall, beim Beenden - ich würde das nicht...
Forum: Sonstige Fragen zu Delphi
by Stevie,
17. Feb 2014
Unter Delphi zumindest kann das Programm überhaupt nicht funktionieren.
Du erstellst nämlich an keiner Stelle eine Instanz von TDatum. Und da du eine globale Variable benutzt, welche auf nil initialisiert ist, bekommst du eine Zugriffverletzung in der ersten Zeile der Loeschen Methode. Das sollte der Compiler übrigens mit der Warnung "Variable nicht initialisiert" quittieren.