Einzelnen Beitrag anzeigen

JBJHJM

Registriert seit: 16. Jan 2009
88 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Bekomme einfach kein globales "Array of Record"

  Alt 29. Sep 2009, 16:38
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!
  Mit Zitat antworten Zitat