![]() |
Delphi-Version: 5
Objektzuweisung zu TStrings funktioniert nicht
Ich sehe wieder vor lauter Bäume den Wald nicht mehr. Seit paar Stunden sehe ich den Fehler nicht. Das Schöne dabei ist, dass ich den nicht mal reproduziert kriege. Ich habe inzwischen fünf neue, leere Projekte erstellt, diesen Code eingegeben und versucht den Fehler zu reproduzieren, aber es funktioniert immer. Nur hier nicht. Auch habe ich das schon an die 100 mal so in anderen Projekten erstellt. Das ist ein simpler Code.
List ist in diesem Fall eine ListBox.
Delphi-Quellcode:
type
TInfo = class Test: String; end; ... Info := TInfo.Create; Info.Test := 'Test'; //a := List.AddObject(Str, Info); a := List.Add(Str); List.Objects[a] := Info; Info := TInfo(List.Objects[a]); //Info wird hier nil ShowMessage(List[a]); // Funktioniert ShowMessage(Info.Test); / Es knallt |
AW: Objektzuweisung zu TStrings funktioniert nicht
Wo wird List erzeugt?
|
AW: Objektzuweisung zu TStrings funktioniert nicht
Ok, alles zurück. Es funktioniert. So schnell geht es manchmal mit der Lösung.
Ich sitze nun seit paar Stunden an einem Code der funktionieren sollte und nicht funktioniert. Des Rätsels Lösung: Statt ListBox habe ich mich verknickt und Memo genommen. Das kann ja nicht funktionieren //Edit: Zitat:
|
AW: Objektzuweisung zu TStrings funktioniert nicht
Und wo ist nun der Unterschied zwischen Listbox.Items und Memo.Lines? Sind doch beides TStrings.
|
AW: Objektzuweisung zu TStrings funktioniert nicht
Beim Memo/RichEdit werden die Objekts nicht gespeichert, da es keine eindeutig stabile Unterteilung der Zeilen gibt, bzw. der Benutzer durch seine Eingaben alles schrotten kann.
Leider wirft TMemoStrings keine Fehlermeldung bei Zuweisung von Objekts. |
AW: Objektzuweisung zu TStrings funktioniert nicht
Klar, ich hätte mal einen Kaffee mehr trinken sollen :mrgreen:
|
AW: Objektzuweisung zu TStrings funktioniert nicht
BorCodEmba hätte auch einfach langsam mal eine Exception einbauen können. :angle2:
|
AW: Objektzuweisung zu TStrings funktioniert nicht
Zitat:
|
AW: Objektzuweisung zu TStrings funktioniert nicht
Wobei dir die Exception mit dem geheimen Text ala "Zugriffsverletzung bei Adresse 00000xxx" (welche man vergessen hat uns zu verraten) dir auch zagen wollte, daß dort etwas fehlt 00000xxx = nil (mit 'nem kleinen Offset)
Und das nil hätte einen schon auf eine gute Fährte bringen können. |
AW: Objektzuweisung zu TStrings funktioniert nicht
Trotzdem ist damit nicht leicht auf die Ursache zu schließen, hier wäre eine Exception bei AddObject wirklich angebracht gewesen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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 by Thomas Breitkreuz