Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Wie verwendet man "Unterklassen" am besten?

  Alt 1. Okt 2010, 16:00
Hallo zusammen,

ich habe bisher eine mit einer Tlist einige Dateiinformationen verwaltet
Delphi-Quellcode:
type
  tFileRec=record
             name : string;
             ext : string;
             path : string;
             size : cardinal;
             lastrd : tdatetime;
             lastwr : tdatetime;
           end;
  pFileRec = ^tFilerec;
Um mir das ewige Typecasting zu erparen hab ich daraus eine Klasse(TMyFiles) gemacht, wobei
.Add und .Items[i] jeweils tFileRec erwartet bzw. liefert, aber FileList[i] gibt einen Pointer zurück.

Wenn ich bisher z.B. mit allen .PAS Dateien etwas machen wollte ging das so ganz gut:
Delphi-Quellcode:
pasFileList:=TList.Create;
if tFileRec(allFileList[i]^).ext='PASthen
     pasFileList.add(allFileList[i])
....
 { machwas }
  tFileRec(pasFileList[i]^).Name.....
 { machwas Ende} 
 pasFileList.Free;
    {
Danach waren noch alle (Datei)Daten in der allFileList vorhanden, und ich konnte ohne erneutes Einlesen z.B. alle XLS-Dateien verarbeiten.

Kann ich das auch mit TMyFiles erreichen ohne die Krücke Typecasting und Tlist zu nutzen?
Bräuchte ich ggf. zwei Free-Methoden?
eine um die Nutzdaten (records) frei zu geben und eine um die Pointer in den Orcus zu schicken?

Könntet Ihr mir hier auf die Sprünge helfen?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat