Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Constructor stürzt mich ins Verderben

  Alt 25. Feb 2009, 06:21
Zitat von Hansa:
was soll das inherited create; ? Und das inherited mit dem Item ? Den TObject-Constructor gibt es zwar, der ist aber leer. Wenn dieser leere Constructor aufgerufen werden soll, dann wenigstens nur mit inherited;
Das ist doch egal. Und um genau zu sein geht es z.B. bei variablen Parametern in der überschriebenen Methode gar nicht nur mit inherited;! Deshalb ist das schon völlig richtig, schließlich spricht man damit ja explizit diese Methode in der Elternklasse an.
Zitat von Hansa:
P.S.: sehe, da steht ja sogar constructor TTabu.Create(); Wozu die () ? Befürchte, dass Delphi sogar dadurch aufs Glatteis gejagt wird.
Auch das ist korrekt. Ganz alte Delphiversionen kannten das wohl noch nicht, aber zumindest ab Delphi 6 ist diese Schreibweise bei Methoden ohne Parameter vollkommen normal. Auch ich benutze das oft, weil man damit deutlich Methoden von Eigenschaften und Variablen unterscheiden kann, unabhängig vom Namen.

Was das inherited in GetItems soll, ist mir allerdings nicht klar, denn schließlich gibt es ja kein Items in der neuen Klasse, so dass das ohnehin klar ist, was gemeint ist.

Ich sehe in den geposteten Schnipseln aber erstmal keinen echten Fehler.

Die beschriebenen Effekte deuten jedenfalls auf ein Speicherproblem. Überschriebener Speicher z.B., aber das liegt nicht an dem geposteten Code.
Dass es Fehler gibt, wenn du die erstellten Objekte nach dem Hinzufügen freigibst, ist klar, denn dann sind die ja in der Liste auch kaputt.

Vielleicht hilft es, wenn du versuchst den entsprechenden Code isoliert zu testen bzw. zu kürzen. Wenn das nicht mehr viel Code wäre, in dem dann immer noch der Fehler auftritt, könntest du den dann komplett posten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat