Delphi > Obecné
IBX komponenty a rekonexe k databazi, potazmo legalni ukonceni programu
(1/1)
Wormik:
Presel jsem z Delphi 7 na Delphi XE a zjistil ze IBX komponenty maji stejny problem jako v dobe D7 :'( a to je pokud je otevrena konexe na databazi (firebird 2.5) dojde k preruseni komunikace (napr odpojeni/pripojeni k siti) tak IBX komponenty vygeneruji nekolik neosetrenych vyjimek, ktere vetsinou nejdou ani odchytnout, uzivatele nuti k jejich odklikani a do ukonceni aplikace nejde uz novu s IBX nic delat... Proto se ptam jestli nedelam neco spatne divim ze ze by takovy zasadni BUG prezil az do dnes? :-\
yamaco:
Zdravím, osobně jsem IBX komponenty přestal používat před mnoha lety právě kvůli jejich chybovosti a "nevývoji". Ve všech svých aplikacích používám FIB Plus sadu (prokazatelně rychlejší přístup k datům než via IBX, řada nových užitečných metod) a kvalitní je i sada od Devartu (využívám jejich analogie pro MS SQL a Oracle).
Mi.Chal.:
--- Citace: Wormik 16-06-2012, 14:43:20 ---tak IBX komponenty vygeneruji nekolik neosetrenych vyjimek, ktere vetsinou nejdou ani odchytnout, uzivatele nuti k jejich odklikani
--- Konce citace ---
něco podobného dělal třeba i standardní TClientSocket. U něj se to dalo vyřešit tak, že se odchytil nějaký jejich speciální event (OnError nebo tak nějak) a nastavil se errorCode na 0. Třeba to bude podobné?
--- Citace: Wormik 16-06-2012, 14:43:20 ---a do ukonceni aplikace nejde uz novu s IBX nic delat... Proto se ptam jestli nedelam neco spatne divim ze ze by takovy zasadni BUG prezil az do dnes? :-\
--- Konce citace ---
podobně blbě se standardně chovaly TAdoQuery/TAdoConnection a spol. Ty zase mají nějaký parametr, který určuje, jestli se má připojení držet otevřené (jinak se to připojuje pokaždé znovu a je to pomalejší). V případě výpadku spojení se to už ale nebylo schopné připojit. Řešením bylo vypnout tu property (něco jako KeepConnection) a po úspěšném připojení zase nastavit.
Navigace
[0] Seznam témat
Přejít na plnou verzi