CRDBGrid, Problem mit MultiSelect
-
Hallo liebe Forengemeinde,
hab mal wieder ein kleines Problem mit einem Codeschnipsel. Ich möchte erreichen, dass in meiner Schleife die Anzahl der markierten Einträge aus meinem Grid abgearbeitet werden. Ich hab die Forensuche bereits ausführlich bemüht und nichts gefunden.
Hier mein Code:
datenbankkomponenten->Q_automatenverwaltung->First(); for (int i = 0; i < datenbankkomponenten->Q_automatenverwaltung->RecordCount - 1; i++) { if (CRDBGrid1->SelectedRows[i].CurrentRowSelected == true) { // Anweisung ShowMessage("Markierter Eintrag Nr. " + IntToStr(i)); } }
Falls jemand einen Rat oder eine andere Lösung parat hat wäre ich sehr dankbar.
Viele Grüße
Maik
-
Hallo!
Kommando zurück, mein aktueller Lösungsansatz sieht so aus und funktioniert fast.
Fast bedeutet, mein Programm fliegt mir nach dem letzten selektierten Eintrag um die Ohren, bis dahin funktioniert alles.
Hier mein Code:
if (CRDBGrid1->SelectedRows->Count > 0) { for (int i = 0; i < datenbankkomponenten->Q_automatenverwaltung->RecordCount - 1; i++) { datenbankkomponenten->Q_automatenverwaltung->GotoBookmark ((CRDBGrid1->SelectedRows->Items[i])); // Anweisung ShowMessage(datenbankkomponenten->Q_automatenverwaltung->FieldByName ("ZULASSUNGSNUMMER")->AsString); } }
Wäre schön wenn mir jemand auf die Sprünge helfen könnte.
Viele Grüße
Maik
-
*** push ***
-
Hallo
Aus deinem gezeigten Ausschnitt ist für uns hier keine Fehlerursache zu erkennen. Benutz den Debugger, um die Ursache weiter einzugrenzen.
bis bald
akari
-
Hallo akari,
danke für deine Antwort. Was jetzt kommt hört sich bisschen peinlich an. Ich würde den Debugger ja gerne benutzen, manchmal gelingt mir das ja auch, wenn er eine Fehlermeldung wirft und ich klicke anschließend auf "Anhalten" springt er ja oftmals zum "fehlerhaften" Code.
In diesem Fall jedoch bekomme ich die Meldung "Zugriffsverletzung bei Adresse 0047912B......."
Wie ist in diesem Fall vorzugehen bzw. der Debugger einzusetzen?
Viele Grüße und danke für die Hilfe
Maik
-
Hallo
Du solltest auf jedenfall mit dem Debugger umgehen können, wenn du programmieren willst. Hier findest du eine Anleitung für die wichtigsten Funktionen.
bis bald
akari
-
Ich nochmal,
konnte den Fehler jetzt finden, dieser Code funktioniert nun.
// Gewaehlte Automaten auswerten if (CRDBGrid1->SelectedRows->Count > 0) { for (int i = 0; i < CRDBGrid1->SelectedRows->Count; i++) { datenbankkomponenten->Q_automatenverwaltung->GotoBookmark ((CRDBGrid1->SelectedRows->Items[i])); // Gewaehlte Automaten uebernehmen und in Stringliste 'slAbrechnungGewaehlteAutomaten' uebergeben abrechnungsassistent->slAbrechnungGewaehlteAutomaten->Add (datenbankkomponenten->Q_automatenverwaltung->FieldByName ("ZULASSUNGSNUMMER")->AsString); } }
Vielen Dank an alle.