Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: night w Wrzesień 12, 2023, 14:31:31
-
Uszanowanie,
taka sytuacja, przy wydruku ok 300 dokumentów, pętla się wywala i już (0x800706BE). Kod j/n:
SuDokument dokFS;
foreach (var i in _printList)
{
try
{
dokFS = ci.sgt.SuDokumentyManager.Wczytaj(i.DokId);
dokFS.DrukujDoPliku(_folder + "\\" + i.DokId + ".pdf", TypPlikuEnum.gtaTypPlikuPDF);
Marshal.ReleaseComObject(dokFS);
}
catch (Exception ex)
{
MessageBox.Show(i.DokId + " " + ex.Message);
}
}
... po tym zdarzeniu tracę połączenie ze Sferą, wyskakuje: 0x800706BA.
Nie jestem w stanie stwierdzić z całą pewnością, gdzie leży przyczyna. Badam temat zmiany drukarki domyślnej.
Subiekt GT 1.76 SP1 HF1
-
Zacznij od zamykania obiektów, które otwierasz.
-
Uprzejmie dziękuję za odpowiedź.. ale to nie to.
try
{
dokFS = ci.sgt.Dokumenty.Wczytaj(i.DokId);
dokFS.DrukujDoPliku(_folder + "\\" + i.DokId + ".pdf", TypPlikuEnum.gtaTypPlikuPDF);
dokFS.Zamknij();
Marshal.ReleaseComObject(dokFS);
dokFS = null;
}
catch (COMException ex)
{
MessageBox.Show(i.DokId + " " + ex.Message + " " + ex.ErrorCode);
Application.Exit();
}
Dalej się wywala.
-
Ogólnie są to problemy nie do rozwiązania, posiadamy w ofercie rozwiązanie do zbiorczego eksportu dokumentów do PDF, problemy pojawiają się zwykle przy kilkunastu tysiącach wydruków, nie przy kilkuset. Pozostają obejścia jak ponowienie próby, czy wręcz ponownie uruchomienie Sfery co jakiś czas.
-
Ja miałem taki przypadek przy masowych wydrukach do pdf i stanęło na tym że dodałem czas oczekiwania między wydrukami, który klient mógł sobie doświadczalnie ustawić. Od kilku lat działa bez problemów.