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