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.