Běhová chyba

Vše k programu GEUS.
Odpovědět
xkminekm
Příspěvky: 103
Registrován: 15 čer 2011 13:08
Kontaktovat uživatele:

Běhová chyba

Příspěvek od xkminekm » 09 říj 2014 13:08

Dobrý den,
dnes se mi (nechtěně) povedlo vyvolat chybu zobrazenou v příloze :-(

Chyba se střídá s hláškou o nemožnosti uložení *.cfs do adresáře zakázky a program nejde uzavřít - budu ho muset odstřelit :-(

----------

Mám podezření, že na to může mít vliv špatná komunikace s LibreOffice (zase nebo stále). Při KAŽDÉ změně seznamu souřadnic nebo ukončení GEUSu, pokud je nastaven tisk do OpenOffice, LibreOffice spadnou a (zřejmě podle naprogramovaného scénáře) zase nastartujou, ale na to GEUS nečeká, a snaží se o navázání komunikace :-( což se nepovede.

Trochu nešťastné mi přijde, že se GEUS snaží o navázání komunikace s LO i v případě, že nově otvíraný seznam nemá nastaven tisk do OOo/LO, ale do TXT.

Pokud by pomohlo nějaké další testování, jsem tomu otevřen, jen bych pak potřeboval napsat / říct, co mám a jak zkoušet.

GEUS 18.9.0.48
LibreOffice 4.3.2.2
WinXP SP3 (já vím ....... )

Martin
Přílohy
Geus_chyba.png
Geus_chyba.png (4.67 KiB) Zobrazeno 5447 x
Martin Kmínek

Uživatelský avatar
martin
Technická podpora
Příspěvky: 61
Registrován: 25 led 2011 12:13
Kontaktovat uživatele:

Re: Běhová chyba

Příspěvek od martin » 10 říj 2014 14:09

Programy vytvořené v Delphi sice hlásí adresu chyby, ale naše znalosti nebo přímo systém Windows nám neumožňují z ní zjistit, kde k chybě došlo. Jediná šance je tedy najít postup, který k vyvolání chyby vede opakovaně. Pak můžeme vytvořit stejné podmínky pro vyvolání chyby i u nás a pokusit se chybný postup nějak ošetřit, aby k vyvolání chyby nedocházelo. Komunikace s LibreOffice probíhá na základě rozhraní Windows nazývané OLE a ne vše můžeme v takovém případě ovlivnit. Dalším problémem je to, že OLE rozhraní LibreOffice je shodné s rozhraním OpenOffice a v jedné chvíli lze používat pouze jeden z těchto balíků (tuším, že ten naposledy instalovaný). Ladění problémů je pak složité, protože to znamená vždy přeinstalovat na právě potřebný Office "balík". Zkusím se však do zdrojových kódů podívat, zda by mne v nich nenapadlo nějaké lepší obecné řešení situace, kdy se OLE komunikace rozpadne. Samozřejmě nalezení přesného a opakovatelného postupu, jak chybu vyvolat, je nejrychlejší cesta k nalezení "slabého" místa programu.

Odpovědět