AddObject frage
-
Probier mal :
cmbWohnort->Items->AddObject(tblOrte->FieldByName("Wohnort")->AsString,(TObject *)**(int)**tblOrte->FieldByName("ort_id")->AsInteger);
-
gelöscht
-
Hallo
@ YLIREBUS : dir ist aber schon klar, das das nicht funktionieren wird? Nicht nur wegen dem cast, sondern einfach weil tblOrte->FieldByName("ort_id") immer auf einen Datensatz zeigt, der sich nicht durch die Auswahl der ComboBox verändert?
bis bald
akari
-
Also ich mache folgende :
Anhängen:
CB_Buero->Items->AddObject(qryBASIS->FieldByName("Buero")->AsString, (TObject*)(int)qryBASIS->FieldByName("ID")->AsInteger);auslesen:
int(CB_Buero->Items->Objects[CB_Buero->ItemIndex]);und bei mir funzt es die id ist immer die die zu dem Büro gehört .
-
Hallo
gut, dann habe ich das falsch verstanden...
Aber wieder mal eine unsaubere Sache mit den casts. Man sollte wenigstens statt dem C-Style Cast dann den reinterpret_cast nehmen.bis bald
akari
-
kann ich bestätigen, klappt einwandfrei:
habe YLIREBUS beispiel eingebunden, und auslesen tue ich so:
Caption = IntToStr((int) cmbWohnort->Items->Objects[cmbWohnort->ItemIndex]);scheint tadellos zu klappen, oder aht noch jemand begründete einwände?!
gruß gerd
ps: habe es jetzt auch verstanden!
danke an alle!@akari: der reinterpreter_cast würde mich auch interessieren, wie das damit gelöst werden könnte!
-
YLIREBUS schrieb:
CB_Buero->Items->AddObject(qryBASIS->FieldByName("Buero")->AsString, (TObject*)(int)qryBASIS->FieldByName("ID")->AsInteger);wozu der cast auf int?
int a = reinterpret_cast <int> (ComboBox1->Items->Objects[ComboBox1->ItemIndex]);
-
Hallo
reinterpret_cast<> ist ein Template aus dem C++ Standard. Das würde bei dir so aussehen :
Caption = IntToStr(reinterpret_cast<int> (cmbWohnort->Items->Objects[cmbWohnort->ItemIndex]));Es ändert aber nichts an der Sache, das das ganze nicht sehr sauber ist.
/Edit : zu spät...
bis bald
akari
-
gibt es eine möglichkeit es "sauber" hinzubekommen?
gruß gerd
-
muss ich diese objects selbstständig aus dem speicher entsorgen?
was passiert bei einem (eventuellen) absturz (auch vielleicht durch fremde applikationen, sprich windows hängt sich auf oder so, muss ich den speicher trotzdem irgendwie freimachen?
gruß gerd
-
wenn sich windows aufhaengt ist es doch eh egal.

theoretisch wird das array von der kompo freigegeben. wenn du dort allerdings zeiger auf andere objekte speicherst, musst du die selber freigeben.