Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Typ 'xxx' benötigt Finalization - nicht im Dateityp erla

  Alt 26. Mai 2004, 12:59
Zitat von DJ-SPM:
Was ist das für ein Fehler?
Ich vergess es auch immer wieder, aber auch bei Compiler-Fehlern hilft ein beherzter Griff zur F1-Taste!

Zitat von Delphi-Hilfe:
Bestimmte Typen werden vom Compiler intern auf besondere Weise behandelt: Sie müssen zuerst ordnungsgemäß abgeschlossen werden, damit gegebenenfalls die gesamten von ihnen zur Zeit belegten Ressourcen freigegeben werden. Da der Compiler nicht feststellen kann, welcher Typ zur Laufzeit in dem Variantabschnitt eines Datensatzes gespeichert ist, kann nicht garantiert werden, daß diese speziellen Datentypen ordnungsgemäß abgeschlossen werden.
Delphi-Quellcode:
program Produce;

  type
    Data = record
      name : string;
    end;

  var
    inFile : file of Data;

begin
end.
String ist einer der Typen, für die ein besonderer Abschluß durchgeführt werden muß, und kann daher nicht in einem Dateityp gespeichert werden.
Delphi-Quellcode:
program Solve;

  type
    Data = record
      name : array [1..25] of Char;
    end;

  var
    inFile : file of Data;

begin
end.
Eine einfache Lösung für String ist die Neudeklaration des Typs als Array mit Zeichen. In anderen Fällen, in denen ein besonderer Abschluß durchgeführt werden muß, wird es immer schwieriger, eine binäre Dateistruktur mit Standard-Pascal-Merkmalen wie "file of" aufrechtzuerhalten. In diesen Situationen ist es wahrscheinlich einfacher, spezialisierte Datei-I/O-Routinen zu schreiben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat