AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList - Zugriff auf property

Offene Frage von "NicoleWagner"
Ein Thema von NicoleWagner · begonnen am 29. Jun 2018 · letzter Beitrag vom 9. Jul 2018
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: TStringList - Zugriff auf property

  Alt 2. Jul 2018, 20:07
1) Die ShowMessage Ausgabe funktioniert auf einmal korrekt(!!), - für beide Testausgabezeilen.
2) Der finally Block wird abgearbeitet.

Also ein kleines Quentchen Trost.
Doch noch immer crasht mir die komplette IDE, wenn ich meinen Wert weiterverarbeiten möchte.
Wie sieht denn die Weiterverarbeitung aus? Evtl. liegt ja auch da das Problem?
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)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: TStringList - Zugriff auf property

  Alt 2. Jul 2018, 21:00
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?
Heiko
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: TStringList - Zugriff auf property

  Alt 3. Jul 2018, 15:43
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.

Geändert von Rolf Frei ( 3. Jul 2018 um 18:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#24

AW: TStringList - Zugriff auf property

  Alt 3. Jul 2018, 18:25
Geht es eigentlich immer noch um den Inaccessable Value?
Wenn Ja -
(showmessage(sl_untergruppe[2]); bringt wohl jeden Debugger aus dem Tritt.

Ansonsten vergesst es.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#25

AW: TStringList - Zugriff auf property

  Alt 3. Jul 2018, 20:50
an Michael, danke für Deine Antwort,zu "ganzen Code hochladen": Du sprichst von einer ziemlich großen eingebundenen DB und deutlich über 100 Units.
Eine "einfache Version" an Code siehst Du bereits, den ganzen Code willst Du, glaube mir, NICHT sehen, smile.
Wenn Du die umfangreichen DB-Query-Abfragen noch in stochastische Prozesse schickst, dann merkst Du ein "try" mehr oder weniger auch dann, wenn Du so einen schnellen Computer hast wie ich. Alte PCs haben da noch tagelang gerechnet daran.
Wenn ich das lese, dann kommt mir der Gedanke, dass evtl. in einer der 100 Units ein Thread am werkeln ist? Der vielleicht auch noch irgendwie an der Stringlist rumfingert?
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.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#26

AW: TStringList - Zugriff auf property

  Alt 9. Jul 2018, 16:07
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]);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz