TCheckListBox als zeiger und Checked methode
-
hallo
ich übergebe einer methode einer anderen klasse (in einer dll) einen parameter als zeiger auf eine TCheckListBox. Der zugriff auf Items scheint anstandslos zu klappen. Jedoch ergibt Checked immer false. In der anwendung habe ich die checkboxen mal an mal aus. Immer das gleiche ergebniss. Woran könnte sowas liegen? Gibt es hierbei etwas zu beachten?
-
Bitte, immer den ProblemCode posten.
Zeig mal, wie du auf die CheckListBox zugreifst.
-
bool Extract(String filename, TCheckListBox *Filter) { for(int i = 0; i < Filter->Items->Count; i++) { String ext = filename.SubString(filename.LastDelimiter("."), filename.Length()); if(LowerCase(ext) == LowerCase(Filter->Items->Strings[i]) && Filter->Checked[i]) { return true; } } return false; }
-
filename.SubString(filename.LastDelimiter("."), filename.Length());sieht nicht so gut aus
ext soll der Teil von filename sein, der an der Stelle beginnt, wo das letzte "." steht IN DER LÄNGE DES GESAMTEN STRINGS von filename??
Schau mal unter ExtractFileExt nach
Vermute der erste Teil deiner dann folgenden Bedingung ist schon immer false. Dann wird der Zweite nicht mehr geprüft.
-
Ich kenne TCheckListBox nicht, aber müsste es nicht
Filter->Items->Checked[i]statt
Filter->Checked[i]heißen?
-
IN DER LÄNGE DES GESAMTEN STRINGS
die methode Length() erkennt selbstständig ob und wie count dann aussehen muss wenn index > Length() ist.
ExtractFileExt
es handelt sich um eine URL, leider funktioniert ExtractFileExt dort nicht.
Vermute der erste Teil deiner dann folgenden Bedingung ist schon immer false
wenn ich && Filter->Checked[i] weglasse funktioniert es.
Ich kenne TCheckListBox nicht, aber müsste es nicht
nein.

-
aber kanns ja nicht sein oder? zugriff auf TCheckListBox geht ja. insofern ist der zeiger ja nicht ungerichtet. dann müsste doch auch die Checked methode anspringen? ergibt für mich keinen sinn das es dort immer false ergibt.
-
Gut das man einen Debugger hat, mit dem man das überprüfen kann ...
-

.......
-
5 code zeilen debugen ist ja sehr hilfreich. naja egal...