Einzelnen Beitrag anzeigen

Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Wie arbeite ich mit "Klassen"-Listen

  Alt 24. Apr 2008, 16:14
Hallo,

Euer erster Schritt, mir in oop zu helfen war prima.

Nun gleich zu einer exotischen Anwendung von Objekten, und zwas in einer Liste.
Der folgende Code soll die Frage Euch verdeutlichen:


Delphi-Quellcode:
unit EB_Pat_Foto_Unit1;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    IniFiles,
    Dialogs, StdCtrls, ExtCtrls, FileCtrl, ShellAPI,
    SDL_ColSel, SDL_Thumbnails, ComCtrls, ShellCtrls;

type
    ...

    TSatz = class(TObject)
        Bild: TImage;
        BildName: string;
        BildNurName: string;
        BildNurPath: string;
        BildNurExt: string;
        FileName: string;
        FileNurName: string;
        FileNurPath: string;
        FileNurExt: string;

        Datum: string;
        Notiz: string;
        Checked: boolean;
    private
        Fgeb: string;
        FPatName: string;
        FID: string;
        FInhalt: string;
        function GetID: string;
        function GetPatName: string;
        function GetGeb: string;
        function GetInhalt: string;
        procedure Setgeb(const Value: string);
        procedure SetID(const Value: string);
        procedure SetPatName(const Value: string);
        procedure SetInhalt(const Value: string);
    public
        property PatName: string read GetPatName write SetPatName;
        property geb: string read Getgeb write Setgeb;
        property ID: string read GetID write SetID;
        property Inhalt: string read GetInhalt write SetInhalt;
    end;

var
    ...

    Satz: array of TSatz; // dieses wird im Folgenden
                             // Probleme machen

    ...


implementation

uses ... ;

{$R *.dfm}
//..............................................................................

procedure TForm1.FormCreate(Sender: TObject);
var
    i: integer;
    Fehler: Word;
    DatumStr: string;

begin

    ...
    Satz := TSatz.create; // und das mag der Compiler nicht
                           // wegen "array of TSatz"
                           // Instanzendeklaration
    setlength(Satz, 50);
    ...

end;

...
end.
Im Code habe ich das Problem schon markiert.
Von der Klasse TSatz will ich ein dynamisches Array instanzieren
und beim Instanz.Create gibt es Compiler-Mecker.

Wie kann ich dieses Problem wohl am besten lösen?
Gibt es da nicht irgend eine andere Lösung mit Listen oder so ?

Danke für Hilfe

E. B.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat