Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#38

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 18. Nov 2018, 12:30

Wo erstellst Du die Liste ubd wo lädst Du die Liste?

Im FormCreate?
Dann gehört das Vocabulary.Free ins FormDestroy.
Hab ich jetzt auch so gemacht.

Delphi-Quellcode:
 If Vocabulary.Count > 0 Then

//mach was

  Else
    Begin
      FormDestroy(Vocabulary);
    End;
Sobald die Bedingung nicht mehr erfüllt ist stürzt er aber ab. Er kommt garnicht dazu die Prozedur FormDestroy aufzurufen.
Du darfst die Liste nicht in der Routine freigeben, sondern nur und ausschließlich nur in der Methode FormDestroy. Und die Methode FormDestroy darfst Du nicht selbst aufrufen, das geschieht automatisch beim Programmende, genauso wie beim Programmstart FormCreate automatisch aufgerufen wird.

Die Liste in Deiner oben geposteten Routine freizugeben ist schlicht und einfach (bei der jetztigen Form der Implementierung) unsinnig und absolut kontraproduktiv.

Lass es doch bitte einfach endlich weg.

Bitte poste mal den vollständigen Quelltext, den Du bisher geschrieben hast. Mit den Fragmenten ist es nur ein Rumgestocher, wo welcher Fehler herkommen könnte und wie man ihn beheben könnte, wenn man die Abhängigkeiten innerhalb des gesamten Programmes nicht kennt.
  Mit Zitat antworten Zitat