Einzelnen Beitrag anzeigen

ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#1

Listenindex überschreitet maximum

  Alt 9. Nov 2005, 21:55
Hallo zusammen,
das Probelm klingt recht unspektakulär, aber der Fehler steck im Detail

Delphi-Quellcode:
Ich habe einen Typ TDocument
type TDocument = class (TComponent)
private
  ...
  FDocument:TWebBrowser;
  FLinks:TStringlist;
Published
  property Document: TWebBrowser read FDocument write FDocument;
  property links: TStringlist read FLinks;
...
Delphi-Quellcode:
type TClDiS = class (Tcomponent)
private
 ...
 FDocumentlist:TObjectList;
 function Get(Index: Integer): TDocument;
 procedure Put(Index: Integer; const Value: TDocument);
Published
...
 function add(item: TWebbrowser):integer;
 function Count: Integer;
public
 property Document[Index: Integer]: TDocument read Get write Put;
...

function TCldis.Count: Integer;
begin
    result:=FDocumentList.Count;
end;

function TCldis.Get(Index: Integer): TDocument;
begin
    result:=TDocument(FDocumentList[Index]);
end;

procedure TCldis.Put(Index: Integer; const Value: TDocument);
begin
    FDocumentList[Index]:=Value;
end;


Soweit so gut...

Delphi-Quellcode:
procedure TForm1.ActionExtractInitExecute(Sender: TObject);
begin

  Cldis.add(WebBrowser1); // in Liste einfügen
  Cldis.Count;
  Cldis.Document[1].Document;
  ...
end;
Das Problem ersteht, wenn ich Cldis ein Objekt hinzufüge, liefert Cldis.Count die korrekte Anzahl. Greife ich aber über das Array Cldis.Document[1].Document direkt auf eine Element zu, knallt es obwohl count korrekt 1 zurückliefert.

Danke für die Hilfe
  Mit Zitat antworten Zitat