Delphi-Quellcode:
TProfil = record
Name, Option1, Option2 : String;
Wert: integer;
end;
Profilspeicher = Array[1..30] of TProfil;
TSpeicher = class
private
FProfile: Profilspeicher;
function GetProfile(Index: Integer): TProfil;
procedure SetProfile(Index: Integer; P:TProfil);
public
property Profile[Index:Integer]: TProfil read GetProfile write SetProfile;
end;
function TSpeicher.GetProfile(Index: Integer): TProfil;
begin
if (Index >= Low(FProfile)) and (Index<=High(FProfile)) then
Result := FProfile[index]
else
raise ERangeError.Create('ungültiger Index TSpeicher.Profile['+IntToStr(Index)+']');
end;
Nochmal hierzu: Irgendwie habe ich noch einen Fehler drinnen:
Ich möchte jetzt aus einer anderen Funktion, die in der gleichen
Unit liegt, das Profilspeicher-Arry füllen, allerdings bekomme ich beim Kompilieren Fehler.
Was ich probiert habe:
TSpeicher.FProfile[x] := Tempprofil; --> Auf Eigenschaft 'FProfile' kann hier nicht zugegriffen werden
TSpeicher.PutProfile(x, TempProfil); --> Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt
Was fehlt mir? Die Funktionen sind alle vollständig, korrekt zugewiesen, aber ich bekomms nicht hin, sie korrekt anzusteuern!