Spr: Klassisk KeyBalance crasher med "Build dependency list" / EXCEPTION_ACCESS_VIOLATION
Den klassiske KeyBalance-klient lukker ned uden varsel — typisk i samme sekund som et bestemt vindue åbnes eller opdateres. Der dannes en crash-rapport, og i den står der EXCEPTION_ACCESS_VIOLATION sammen med noget i stil med:
std::_Construct
std::vector<DBDepend,...>::insert
DBDataField::CombineDependList
DBRow::CombineDependList
DBTaskRow::RegisterEnd
Det er den samme fejl som vises som "Build dependency list".
Hvad betyder det?
Det er ikke en datafejl, og din database er ikke ødelagt.
KeyBalance beregner en række felter automatisk ud fra andre felter — saldi, farvemarkeringer, om et felt kan udfyldes, om det er påkrævet osv. Før et vindue kan vises, lægger programmet en afhængighedsliste ("dependency list"): hvilke felter skal genberegnes, når et andet felt ændrer sig.
Fejlen opstår, når den liste indeholder en løkke — felt A afhænger af felt B, som afhænger af felt C, som igen afhænger af felt A. Så bliver listen ved med at vokse, indtil programmet løber tør for hukommelse og lukker ned. Løkken går typisk gennem en beregning, en farvemarkering (ColorInActive) eller en "kan udfyldes"-regel på et felt.
Fejlen ligger i programopsætningen, ikke i dine data. Ingen bogførte data går tabt — men det du havde stående i det vindue der lukkede ned, er ikke gemt.
Hvilken tabel er det?
Crash-rapporten indeholder en Task-linje. Står der f.eks. FINANS eller FKONTOPLAN, er det finanstabellen løkken ligger i. Står der No task!, kan du i stedet notere hvilket vindue du åbnede, lige inden det gik galt — det er lige så brugbart for supporten.
Hvad gør du?
- Send crash-rapporten til support. Den indeholder maskinnavn, tidspunkt, regnskab og stakken — alt hvad der skal til for at finde løkken.
- Fortæl hvilket vindue du åbnede, da det skete, og hvad du gjorde lige inden.
- Genstart KeyBalance. Fejlen ødelægger ikke noget, men den kommer igen hver gang du åbner samme vindue.
- Undgå vinduet indtil du har fået en rettelse. Der er sjældent tale om andet end ét enkelt vindue.
Rettelsen er en programopdatering. Den kan i mange tilfælde lægges ind uden at hele installationen skal opdateres — spørg supporten.
Kan jeg komme videre imens?
Ja. Fejlen rammer kun den klassiske klient. Åbner du samme vindue i KeyBalance 2020 eller i web-/app-klienten, kan du normalt arbejde videre uden problemer, mens rettelsen laves.
Er du i tvivl om hvilken klient du kører: den klassiske klient hedder
Keybalancewf.exeog er den ældste Windows-udgave.
Beslægtede fejl
Dette er ikke det samme som et nedbrud ved import eller eksport af filer — der er årsagen som regel, at filen er åben i Excel eller Notepad. Se Klassisk KeyBalance går ned ved import af fil.