Autor Beitrag
Kralle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65

Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
BeitragVerfasst: Sa 23.07.11 15:01 
Moin,

da bin ich schon wieder.

Durch das anwählen oder abwählen eines Eintrages in einer Checklisbox, wird der Inhalt der Box als solches verändert.
Soweit so gut. Das Ändern des Inhaltes im OnCkliCHeck-Ereignis funktioniert auch, aber obwohl der Haken weg ist und auch die Änderung durch geführt wird, bleibt eine Abfrage
ausblenden Delphi-Quelltext
1:
 oldArray[I,2]:= BoolToStr(CLB_Header.checked[I]);					

auf True.
Auch beim Debug, verändert sich der Status nicht, obwohl die Visuelle-Komponente eine Änderung zeigt.

In den Eigenschaften der Komponente finde ich auch keine Einstellung die offensichtlich die Statusänderung verhindert.

Ertelle ich eine kleine Testanwendung um diesem Phänomen auf die Spur zu kommen, so läuft in der alles normal (auch im Debug).

Also, muss es irgendeine Einstellung geben, die in meinem Projekt verhindert, das der Status richtig ausgewertet wird.

Irgendwelche Ideen?

Gruß Heiko
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 23.07.11 15:36 
user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
aber obwohl der Haken weg ist und auch die Änderung durch geführt wird, bleibt eine Abfrage
ausblenden Delphi-Quelltext
1:
 oldArray[I,2]:= BoolToStr(CLB_Header.checked[I]);					

auf True.

Mal davon abgesehen dass er -1 statt true zurückgibt funktionierts bei mir so. Kann es evtl was damit zu tun haben, dass du ein 2D-Array hast? Greifst du da irgendwie falsch zu?
user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
Auch beim Debug, verändert sich der Status nicht, obwohl die Visuelle-Komponente eine Änderung zeigt.

Ist es auch die richtige CheckListBox? Im andren Thread hattest du CLB_middle.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)

Für diesen Beitrag haben gedankt: Kralle
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 23.07.11 16:55 
Warum hast du denn ein array of string? Ein array of Boolean wäre wohl besser geeignet...

Für diesen Beitrag haben gedankt: Kralle
Kralle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65

Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
BeitragVerfasst: Sa 23.07.11 17:49 
Moin,

user profile iconXion hat folgendes geschrieben Zum zitierten Posting springen:

Mal davon abgesehen dass er -1 statt true zurückgibt funktionierts bei mir so. Kann es evtl was damit zu tun haben, dass du ein 2D-Array hast? Greifst du da irgendwie falsch zu?


Die Daten landen schon falsch im Array, wie man im Debug sehen kann.

Zitat:
Ist es auch die richtige CheckListBox? Im andren Thread hattest du CLB_middle.

Gibt beide.

Gruß Heiko

Nachtrag: Die Anzeige im Debug hat Mist angezeigt.
Nachdem ich die Zuüberwachenden Variablen gelöscht und neu angelegt hatte, bekam ich auch den Status richtig angezeigt.
Vielleicht mag es TDP wenn man Windows den den Ruhezustand versetzt.
Jetzt, muß ich nur noch im Code den Fehler finden, was mit einem funktionierenden Debug einfacher ist :-)

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Moin,

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Warum hast du denn ein array of string? Ein array of Boolean wäre wohl besser geeignet...

Es ist ein StringArray, weil auch Strings gespeichert werden.
Das Speichern der Bool-Info habe ich nur noch nachträglich mit rein genommen.

Gruß Heiko


Zuletzt bearbeitet von Kralle am Sa 23.07.11 18:26, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 23.07.11 18:38 
user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
Nachtrag: Die Anzeige im Debug hat Mist angezeigt.
Wenn du in einer Schleife bist, weiß der Debugger nicht unbedingt den korrekten Wert der Schleifenvariable, wenn die Optimierung in den Projektoptionen eingeschaltet ist (Standard = an). ;-)

Für diesen Beitrag haben gedankt: Kralle
Kralle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65

Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
BeitragVerfasst: Sa 23.07.11 18:52 
Moin,

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du in einer Schleife bist, weiß der Debugger nicht unbedingt den korrekten Wert der Schleifenvariable, wenn die Optimierung in den Projektoptionen eingeschaltet ist (Standard = an). ;-)


Da bin ich einmal drauf reingefallen, seit dem schalte ich die Optimierung bis zu Schluß ab.

Aber, trotzdem verhält der Debug-Modus wie ein Blinker - mal stimmt die Anzeige und mal nicht ;-(

Gruß Heiko
Kralle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65

Windows XP,Win7
Delphi 6, Turbo Delphi Pro, Delphi 7 Enterprise, Delphi XE2 Lazarus
BeitragVerfasst: Mi 27.07.11 12:14 
Moin,

das Problem war nicht der Debugger, sondern meine "IF ... =" true Abfragen.

Gruß Heiko