Problémy s tiskem SESTAV

Bohužel, náš program běží na platformě Windows, a proto se nevyhne chybám tohoto operačního systému. Při množství uživatelů našeho programu se samozřejmě občas vyskytnou různé problémy, a ty s tiskem jsou z nich nejčastější.

Podle provedené analýzy vznikají tyto chyby pravděpodobně v jádru Windows, které je odpovědné za zprostředkování vazby z programu SocWindows na subsystém tiskáren. Jedná se o problém přetečení zásobníku po vyvolání těchto funkcí z programu SocWindows při pokusu o tisk.

Po několika testech u zákazníků, kde k chybě docházelo, jsme navrhli řešení známé z programátorských sekcí okolo Microsoftu jako "WorkAround", čili "Chybu nelze řešit, zkusme ji obejít".

Spolehlivé řešení

Přejděte na prostředí 8. Program jako takový je identický (uživatel si ničeho nevšimne, ani v nejmenším), ale provozní prostředí programu (runtime) je o dvě generace novější, a uvedenou chybu má spolehlivě vyřešenou.

Problémem je to, že nové prostředí nelze použít na OS Windows 95.

Nouzové řešení

Bezchybný, plně funkční systém Windows poskytuje několik funkcí, které program SocWindows používá pro tisk.
Pokud dochází k chybám (Windows při pokusu o tisk padají), pak program počínaje verzí 7.19.d umožňuje "vypínat" vazby na jednotlivé funkce Windows, a tím se vyhnout kolizím. V některých případech tak může dojít k omezení komfortu při využívání programu, což bude popsáno dále.

Jak nastavit tento systém

  • Spusťte program, přihlašte se jako SUPERVIZOR
  • volte tlačítko Program, funkci Nastavení programu, položku Správce sestav FRX. Vpravo dole najděte tlačítko Řešení potíží a stiskněte jej, Otevře se okno Předcházení chybám WinSpooler..., a zde zaškrtněte jednotlivé moduly, které si přejete vyřadit z činnosti. Uložte okno.
  • Provedené nastavení je platné pro daný počítač.

    Popis jednotlivých modulů

    1. Načítání přehledu tiskáren na začátku programu
    Toto by měl být první krok, který zvolíte při chybách systému. Pokud vyřadíte (zaškrtnutím) tento modul, pak si program nebude zjišťovat přehled nainstalovaných tiskáren při spouštění. Vyloučí se tím potenciální chyby zavlečené hned na začátku programu. Přehled tiskáren se zjišťuje při ukončování programu a automaticky se ukládá do konfigurace programu.
    Nevýhoda: Akceptování nové tiskárny bude vyžadovat ukončení a opětovné spuštění programu. Pokud program nebyl při změně tiskáren spuštěn, musí se spustit, ukončit a teprve při příštím spuštění je přehled tiskáren funkční.
    2. Nastavení počtu kopií pomocí WinSpooler
    Když je zaškrtnuto, pak tisk více kopíí jedné sestavy probíhá jako tisk více nezávislých úloh.
    Nevýhoda: vyšší zatížení paměti při tisku. Žádný větší problém to nezpůsobí.
    3. Modifikace jakýchkoliv údajů předávaných do WinSpooleru
    Nevýhoda: Může způsobit problémy s tiskem sestav "Na šířku".
    4. Zakázat nastavování dolního okraje pomocí změny reportu FRX
    Tímto se vyloučí jakékoli zásahy do definice sestavy před jejím tiskem.
    Nevýhoda: na tiskárnách kde je třeba rezervovat větší dolní netisknutelný okraj se toto nezajistí. Na jiných tiskárnách nevadí.
    5. Nezasahovat do nastavení DataEnvironment
    Bez obav zaškrtněte. Tento modul pouze předchází zobrazení chyby "Cannot locate cursor ...".
    6. Zakázat příkazy SET PRINTER TO ...
    Nejvážnější omezení celého systému. Vyřadí z funkce volbu tiskárny sestavy.
    Nevýhoda: všechny sestavy budou tištěny na výchozí tiskárnu Windows.

    Doporučený postup omezování modulů

    Pokud dochází k chybám při tisku, doporučuji postupně zaškrtnout tyto moduly:
    1. Zaškrtnout modul 1 a vyzkoušet tisk
    2. Zaškrtnout moduly 2 až 5 a vyzkoušet tisk
    3. Zaškrtnout modul 6 a vyzkoušet tisk

    Pokud stále Windows padají (), nezbývá než přejít na prostředí 8.

    Viz také

    Aktualizace programového prostředí (runtime) 6->8
    Okno řízení tisku