ListView2:AddItem zerstört ListView1:GetSelectedItem()
Posted: Thu Feb 09, 2023 1:22 pm
Ich habe eine kleine Testoberfläche für ein Gastroprogramm, um einem Interessenten zu zeigen, wie sowas aussehen könnte. Darin werden Getränke auf Tische boniert. Man soll auch Getränke von einem Tisch auf einen anderen Tisch umlagern können (wie in der VO IDE unter Properties -> Libraries).
Dies geschieht mit 2 ListViews:
Methode lvwAddPos2 fügt das in lvwData1 selektierte Getränk in den lvwData2 ein
Methode lvwDelPos1 sollte dieses Getränk dann aus lvwData1 löschen
Allerdings bringt durch das Einfügen lvwData2:AddItem(...) die nächste Abfrage lvwData1:GetSelectedItem(), welche fürs Ermitteln des zu löschenden Items erforderlich ist, einen BoundError! Es sieht so aus als ob lvwData2:AddItem(...) den lvwData1:GetSelectedItem() irgendwie beeinflußt, obwohl es 2 von einander unabhänge ListViews sind.
Ich habe die AEF angehängt sowie den Unterordner BMP mit den Icons, zur Bedienung:
- Bonierung mehrerer Getränken über die Buttons auf den vorgeschlagenen Tisch1
- Öffnen des Splitfensters über den Button Tisch splitten
- Mit Button > das markierte Getränk in den rechten ListView verschieben -> BoundError
In der Methode dlgSplitten:LvwAddPos2() ist die verursachende Stelle markiert. Ich habe inzwischen 2 Tage damit verbracht, herauszufinden, warum sich die beiden ListViews gegenseitig beeinflußen und beim lvwData1:GetSelectedItem den Bound Error bringen, finde aber keinen Fehler im Programm. Vielleicht hat jemand mal Zeit und Lust einen Blick hineinzuwerfen. Wäre jedenfalls hilfreich, ansonsten müßte ich das Programm auf 2 ArrayServer umschreiben.
Danke!
Dies geschieht mit 2 ListViews:
Methode lvwAddPos2 fügt das in lvwData1 selektierte Getränk in den lvwData2 ein
Methode lvwDelPos1 sollte dieses Getränk dann aus lvwData1 löschen
Allerdings bringt durch das Einfügen lvwData2:AddItem(...) die nächste Abfrage lvwData1:GetSelectedItem(), welche fürs Ermitteln des zu löschenden Items erforderlich ist, einen BoundError! Es sieht so aus als ob lvwData2:AddItem(...) den lvwData1:GetSelectedItem() irgendwie beeinflußt, obwohl es 2 von einander unabhänge ListViews sind.
Ich habe die AEF angehängt sowie den Unterordner BMP mit den Icons, zur Bedienung:
- Bonierung mehrerer Getränken über die Buttons auf den vorgeschlagenen Tisch1
- Öffnen des Splitfensters über den Button Tisch splitten
- Mit Button > das markierte Getränk in den rechten ListView verschieben -> BoundError
In der Methode dlgSplitten:LvwAddPos2() ist die verursachende Stelle markiert. Ich habe inzwischen 2 Tage damit verbracht, herauszufinden, warum sich die beiden ListViews gegenseitig beeinflußen und beim lvwData1:GetSelectedItem den Bound Error bringen, finde aber keinen Fehler im Programm. Vielleicht hat jemand mal Zeit und Lust einen Blick hineinzuwerfen. Wäre jedenfalls hilfreich, ansonsten müßte ich das Programm auf 2 ArrayServer umschreiben.
Danke!