![]() |
AW: TStringList - Zugriff auf property
Zitat:
Tritt das Problem auf allen PC's auf oder nur auf Deinem? Welche Windows-Version? Innerhalb oder außerhalb einer VM? - Versuche einmal das Programm ohne den Style auszuführen - Setze das {$O-} einmal vor die Prozedure, statt innerhalb (ist eigentlich egal, versuchs trotzdem mal) |
AW: TStringList - Zugriff auf property
Hallo,
also, neues Projekt anlegen, FormCreate erzeugen und Deinen Code reinkopieren und laufen lassen. Was passiert denn dann? Nennt sich Minimalbeispiel. Hast Du mal FastMM4 eingebunden? |
AW: TStringList - Zugriff auf property
Ich bin mir relativ sicher, dass das was du hier siehst ein Nebeneffekt von was ganz Anderem ist, das vermutlich den Speicher des Debuggers zerschossen hat.
Wie schon mehrfach erwähnt, baue mal ein simples Projekt mit nur einem FormCreate (wie in meinem Beispiel) und debugge das. Wenn da alles IO ist, suchst du an der falschen Stelle. Dann machst du zu 100% irgendwo sonst den Speicher "kaputt" und das was du hier siehst sind alles Nebeneffekte davon. Betreffs Try/Finaly: Wenn du das nicht richtig genutzt hast, würde es mich nicht wundern, wenn ganau darin der Hund begraben ist. Wenn du das nicht gerade in einem Loop mit 1 Mio. Durchläufen platziert hast, wirst du keinen nennenswerten Performanceunterschied merken. Ansonsten platziert man es ausserhalb des Loops. Aber einfach darauf verzichten ist das dümmste was man machen kannst. |
AW: TStringList - Zugriff auf property
Geht es eigentlich immer noch um den Inaccessable Value?
Wenn Ja -
Delphi-Quellcode:
bringt wohl jeden Debugger aus dem Tritt.
(showmessage(sl_untergruppe[2]);
Ansonsten vergesst es. Gruß K-H |
AW: TStringList - Zugriff auf property
Zitat:
Und da wir den Code nicht sehen können, glaube ich nicht, dass man hier den Fehler finden kann. PS: @NicoleWagner, sind dir die kleinen Symbole über dem Eingabefeld aufgefallen, in dem du deine Antworten schreibst? Diese sind ganz nützlich ;-) Helfen sie doch z.B. Delphi-Code zu formatieren. Und etwas weiter unten findest du einen Button "Anhänge verwalten". Damit kann man Bilder hochzuladen, dann müssen die Leser nicht zur Dropbox wechseln. |
AW: TStringList - Zugriff auf property
Die Lösung:
Einmal danke allen, die hier mitgeraten haben. Viele hatten auch recht mit ihren Ideen. Die konkrete Methode, wie ich an den Fehler rankomme, kam jedoch von Fritz (danke!) via Mail. Fritz' Idee war, dass ich das BEFÜLLEN des TStringLists in eine eigene Methode auslagere. Als ich die geschrieben hatte und zeilenweise durchklickte, fand ich den Wurm: Mein StringList wird durch andere StringLists befüllt. Ein sortiertes kommt von links, ein anders sortiertes kommt von rechts. Was mir entging: Es gibt Sonderfälle, in denen eines dieser Quell-StringLists eine Zeile weniger hat. Sah alles ganz normal aus. Das Zielstringlist wurde übergeben und auch in der Werteliste zeigten sich Inhalte, - die jedoch im Einzelfall gar nicht da waren (das errieten hier viele). Wo mir der Fehler als 'aufgetreten' angezeigt wurde, da war er nicht zu finden, weil schon lange vorher als Sand im Getriebe. Mein Weg zu besserem Code sieht jetzt so aus: Statt ZielStringList.Add(Quellstringlist[zugriff]); fülle ich jetzt mit If Quellstringlist.Count > zugriff then ZielStringList.Add(Quellstringlist[zugriff]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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