![]() |
Seite kann nichts zugewiesen werden" und ich blicks nic
Hallo Leute
ich bekomme immer einen Fehler "Der linken Seite kann nichts zugewiesen werden" wenn ich der Property item einen neuen Wert zuweise (aktualisiere). Irgendwie stehe ich momentan gewaltig auf dem Schlauch. Hat jemand einen Tip für mich? Danke!
Delphi-Quellcode:
function Get(Index: Integer): TType;
procedure Put(Index: Integer; const Value: TType); ... property item[Index: Integer]: TType read Get write Put; ... procedure TTypelist.Put(Index: Integer; const Value: TType); var p: PType; begin New(p); p^:=value; FTypelist[Index]:=p; end; |
Re: Seite kann nichts zugewiesen werden" und ich blicks
Delphi-Quellcode:
p:=value;
|
Re: Seite kann nichts zugewiesen werden" und ich blicks
Delphi-Quellcode:
p:=@value;
|
Re: Seite kann nichts zugewiesen werden" und ich blicks
Delphi-Quellcode:
p:=Pointer(value);
|
Re: Seite kann nichts zugewiesen werden" und ich blicks
wie ist TType und fTypelist definiert?
|
Re: Seite kann nichts zugewiesen werden" und ich blicks
Delphi-Quellcode:
Dann geb ich auch mal meinen Senf dazu :mrgreen:
p^.Assign(Value);
Natürlich geht das (wenns geht...^^) nur wenn die Klasse irgendwann mal von TPersistent geerbt hat... |
Re: Seite kann nichts zugewiesen werden" und ich blicks
Hallo zusammen,
vielen Dank. Ich habe mal eure Tips ausprobiert. p:=@value; (immer noch der Fehler) p:=Pointer(value); (ungültige Typenumwanldung, ich habe es auch mit meinem Typ Ptype und TType probiert, dto) p:=value; (inkompatible Typen) p^.Assign(Value); (undefinierte Bezeichner Assign) .... Ich habe festgestellt, daß wenn ich eine Variable mit meinem TType erzeuge und dann die Zuweisung machen, das dann der Fehler nicht mehr kommt. Funkioniert:
Delphi-Quellcode:
funktioniert nicht
TTypelist.item[1]:=TType
Delphi-Quellcode:
----
TTypelist.item[1].tag:=string
Delphi-Quellcode:
type TType = record
Tag : String; element1: String; element2: String; end;//Type type TTypelist= class private FTypelist:TList; ... function Get(Index: Integer): TType; procedure Put(Index: Integer; Value: TType); ... public property item[Index: Integer]: TType read Get write Put; end; |
Re: Seite kann nichts zugewiesen werden" und ich blicks
Hallo ozz,
du erhältst die Fehlermeldung nicht in der Methode Put, sondern wenn du versuchst, einer Komponente der Record-Eigenschaft etwas zuzuweisen, richtig?
Delphi-Quellcode:
Die Erklärung für diese Meldung findest du in
var
List : TTypeList; begin List.Item[0].Tag := 'Hallo'; // -> "Der linken Seite..." end; ![]() ![]() Gruß Hawkeye |
Re: Seite kann nichts zugewiesen werden" und ich blicks
Hallo Leute,
Danke an Hawkeye, das ist genau das Problem.Ich habe den Problem jetzt verstanden, auch wenn ich noch keine vernünftige Lösung habe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz