Moin,
ich habe ein Problem, dass auch schon im
Quality-Portal erfasst ist, dummerweise ist dieses aber momentan in Migration, weswegen man dort nicht kommentieren etc kann, und es steht auch nichts hilfreiches drin, außer, dass ich nicht der einzige mit dem Problem bin:
Ich habe bei einem recht großen Projekt bei mir festgestellt, dass bei bestimmten Aufrufen einer Maske deren DBNavigator ohne jeden Grund "deaktiviert" ist. Ich setze das "deaktiviert" in Anführungszeichen, da all seine Attribute bei Begutachtung zur Laufzeit dagegen sprechen: Er ist enabled, er hat eine Datasource, die Datasource ist enabled, das daran hänge DataSet ist Active, alle anderen
DB-Komponenten zeigen die korrekten Daten aus der Datenbank, alles ist völlig normal, nur der DBNavigator wird als disabled angezeigt und reagiert weder auf Klicken noch auf Änderungen am Datensatz.
Dies ist auch nur bei stimmten Aufrufen der Maske der Fall, bei den anderen verhält sich der DBNavigator völlig normal. Ich konnte bis jetzt weder ein Muster feststellen, noch, was überhaupt mit dem Teil los ist.
Dementsprechend wollte ich mich mal umhören, ob sonst noch wer das Problem hat und vielleicht schon was rausgefunden hat.
1. Nachtrag: Ich habe das Muster gefunden. Die betroffenen Masken haben einen Navigator, dessen Datasource auf einer anderen Maske liegt. Das Phänomen tritt auf, wenn man auf das zugrundeliegende Dataset zuerst ein Insert macht und erst dann die Form mit dem Navigator kreiert. Kreiert man die Form zuerst und macht dann das Insert, funktioniert der Navigator. In Delphi 11 hat das unabhängig davon funktioniert.
2. Nachtrag: Untersuchen per Debugger hat gezeigt, dass im vorliegenden Fall das Attribut Editing vom Datalink des Navigators auf False sitzt, woraufhin die einzelnen Buttons deaktiviert werden. Der Navigator bekommt in diesem Fall also anscheinend nichts davon mit, dass die dranhängende Datasource im Insert-Modus ist.