Pro vývojáře: zavádění MDA aplikací (moduly, dopňky a tiskové formuláře)

vydání: 20091016 - verze: 12

Kvůli problémům s referencemi v Accessu 2003 jsou od tohoto vydání zaváděny MDA aplikace (moduly, doplňky a tiskové formuláře) pomocí funkce, která zkontroluje a případně se pokusí opravit chybné reference.

Symptomy

Po aktualizaci na nové vydání Varia přestanou fungovat zákaznické tiskové formuláře, doplňky nebo moduly. Je potřeba, aby je vývojář "opravil" tím, že odebere a znovu vloží reference na VarioLib.dll a/nebo Vario.mda.

Příčina

Pokud se v aplikaci nastaví reference na DLL (MDA) knihovnu a následně se změní verze této knihovny, aplikace přestane částečně fungovat.

Zpravidla funguje program (VBA), ale nefungují výrazy (v dotazech, prvcích formulářů a reportů), které obsahují volání běžných funkcí jako Date(), Left(), Format().

Jedná se o chybu Accessu viz http://support.microsoft.com/kb/194374.

Oprava

V tomto vydání Varia se aplikace zavádí samostatnou funkcí, která kontroluje funkčnost výrazu Date() v aplikaci. Pokud výraz nefunguje, pokusí se o opravu referencí.

Ve VBE projektu aplikace se odeberou a znovu přidají reference

  • které jsou "broken",
  • které se odkazují na *.MDA knihovny a
  • reference na VarioLib.dll.

 

Tím se problém s výrazy opraví (pokud je způsoben změnou verze, problém s chybějící nebo poškozenou knihovnou se pochopitelně nespraví).

Poznámka: Reference se opravují za běhu v zavedené MDA aplikaci, takže oprava se provede jen v paměti a neuloží se do MDA aplikace.

Předpoklady

Opravu lze provést jen pokud je aplikace formátu MDA, aplikace přeložené do MDE opravit nelze. Pokud se oprava nezdaří, zobrazí se chybová hláška, která informuje o tom, že aplikace nefunguje a je potřeba jí aktualizovat.

Možné důsledky

Aplikace, které po aktualizaci přestaly fungovat, po instalaci tohoto vydání fungovat budou.

Aplikace, které doposud fungovaly dobře, protože nepoužívají žádné výrazy, mohou teoreticky hlásit chybu, pokud se u nich nepodaří oprava referencí.

Ostatní

I přes toto opatření je stále potřeba dodržovat doporučení podle tohoto článku: http://www.altusvario.cz/faq/programovani/distribuce-mda-mdb-aplikaci-a-problemy-s-binarni-kompatibilitou.

Pokud chcete distribuovat moduly ve formátu MDE, můžete nyní využívat automatických aktualizací pro aktualizaci vašich řešení. Nově lze vynutit konkrétní vydání Varia, se kterým je vaše řešení kompatibilní. V tomto případě musíte zajistit pravidelnou aktualizaci. Více viz dokumentace: http://www.altusvario.cz/dokumentace/pro-vyvojare/sdk/automaticke-stahovani-modulu-a-doplnku-ze-slozky-upravy.