Einzelnen Beitrag anzeigen

Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
243 Beiträge
 
Delphi 12 Athens
 
#1

TDBLookupCombobox: Bug nach XE2 Upd 3 > Upd 4?

  Alt 27. Jun 2013, 11:01
Hallo,

habe hier ein seltsames Verhalten mit einem Code, der bis zum Update von XE2 von Update 3 auf 4 keine Probleme verursachte:

Gegeben:
TForm mit TIBCQuery (A) > TDataSource > TSMDBGrid + 3x TDBLookupCombobox die über 2 weitere TIBCQuery/TDataSource mit Lookup-Daten versorgt werden.
Das Öffnen der Query A erfolgt in einem EnableControls/DisableControls-Block.

Wird das Form zum erstenmal instanziert und Query A geöffnet, so funktoniert alles unter XE2 Upd 3 als auch Upd 4.
Aktualisiere ich aber die Daten der Query A über ein Close/Open mit EnableControls/DisableControls-Block, so bekomme ich eine AV in Vcl.DBCtrls > TDBLookupControl.DataLinkRecordChanged gemeldet.

Wenn ich diesen Teil debugge, so scheint dort FMasterfield der TDBLookupControl Basis-Klasse undefiniert zu sein.
Es scheint das die 2 minimalen Änderungen in der VCL Upd. 3 nach Upd. 4 in Data.DB bzw. Vcl.DBCtrls dazu führen, dass TDBLookupControl.UpdateDataFields nicht mehr ausgeführt wird und die FMasterfields daher nach einem wiederholten Close/Open, sofern zuvor ein DisableControls auf der Query aufgerufen wurde, undefiniert sind.

Als WorkARound rufe ich nun nach dem Open TDBLookupControl.UpdateDataFields von Hand auf, was die Felder definiert und den Fehler unterdrückt.


Kann jemand das Problem bestätigen?
Kennt jemand evtl. eine alternative Lösung (ausser auf das Enable/Disable zu verzichten)?

Gruß,
Michael

BTW: IBDAC 4.6.12, XE2 Upd 4 Hotfix 1 HelpPack 6
  Mit Zitat antworten Zitat