ich versuche mich weiter in der OOP und Klassen und so. Und ich verstehe gerade nicht, warum ich beim Freigeben eine Klasse rausfliege:
Der Code (die wesentlichen Teile) Teil 1 - Definintion:
Code: Alles auswählen
const
  TSignalPoint = class
    Time: double;
    Value: double;
    constructor Create; overload;
    constructor Create(t: double; v: double); overload;
  end;
  TTimeSeries = class
    Name: string;
    NoEntries: integer;
    Signal: TObjectList<TSignalPoint>;
    constructor Create;
    destructor Destroy; override;
    procedure SaveToFile(fname: string);
  end; 
  
  TTimeSeriesArray = Array of TTimeSeries; 
var
  BoltLTS: TTimeSeriesArray; 
  
// Class: TSignalPoint
// -------------------
// create generic signal point (0,0)
constructor TSignalPoint.Create;
begin
  inherited;
  Time := 0.0;
  Value := 0.0;
end;
// create signal point from time and value pair
constructor TSignalPoint.Create(t: double; v: double);
begin
  Time := t;
  Value := v;
end;
// Class: TTimeSeries
// ------------------
// create empty timeseries
constructor TTimeSeries.Create;
begin
  inherited;
  Name := '';
  NoEntries := 0;
  Signal := TObjectList<TSignalPoint>.Create;
end;
destructor TTimeSeries.Destroy;
begin
  Signal.Free;
  inherited Destroy;
end;
Code: Alles auswählen
     try
        BoltLTS := Read_TimeSeries_MultiChannel(FullFileName);
        LogMemo.Append('  LTS-file loaded');
        LogMemo.Append(Format('   No Bolts: %d ',[Length(BoltLTS)]));
        // Output of some LTS parameter
        for i:=0 to Length(BoltLTS)-1 do
          LogMemo.Append(Format('   Bolt: %d ("%s"): %d',
            [i,BoltLTS[i].Name,BoltLTS[i].NoEntries]));
        for i:=0 to Length(BoltLTS)-1 do
          processTimeSeries(BoltLTS[i]);
      finally
        for i:=0 to Length(BoltLTS)-1 do
        begin
          LogMemo.Append(Format('   Free Bolt: %d ("%s")',
            [i,BoltLTS[i].Name]));
          BoltLTS[i].Free;    // <---- genau das funktioniert nicht
        end;
        SetLength(BoltLTS,0);
     end;
     
Es könnte was einfaches sein; es könnte auch sein, dass ich einfach noch was nicht richtig verstanden habe (Constructor, Destructor mit inherited). Auch im Zusammenspiel mit Generics und dem Array of ....
Dankbar für jeden Tipp.
Photor
PS: wenn gebraucht, kann ich versuchen ein abgespecktes Projekt zusammenstellen.



 Verein
Verein 
 Links
Links Suche
Suche