mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Niezwalnianie zasobów w raporcie przyczyną błędu? https://forum.mix-soft.pl/viewtopic.php?f=15&t=7953 |
Strona 1 z 1 |
Autor: | arnoldinho [ 2017-06-08, 18:23 ] |
Tytuł: | Niezwalnianie zasobów w raporcie przyczyną błędu? |
Witam, mojej zabawy z symfonią ciąg dalszy. Tym razem jest to problem cięższego kalibru. Przy 3-cim wywołaniu raportu dla pojedynczego dokumentu lub zaznaczeniu 3 dokumentów program zawiesza się. Dla 2 dokumentów wszystko działa jak należy. Cytuj: String Plik_z_Haslem = KatalogFirmy() + "daneDostepowe.txt" Int Numer_plik = Open Plik_z_Haslem For input String UserName String Password Input # Numer_plik, UserName Input # Numer_plik, Password Buf = UserName //Przypisanie zawartości zmiennej Buf Delete "\n" //Wykonanie polecenia Delete UserName = Buf //Nadpisanie Username prawidłową wartością Close Numer_plik //Zamknięcie pliku int pozycjaWTabeli string dataF string kod string seria string nazwa string plattermin baseDK dk dispatch dll dispatch xNull long lPoz = SetTaggedPos(FS) while lPoz != 0 dk.GetRecById(GetLineId(lPoz)) dataF=dk.GetField("Data") kod = dk.GetField("kod") seria = dk.GetField("seria") nazwa = dk.GetField("nazwa") plattermin = dk.GetField("plattermin") dll.Create("PragmaExporter.ExporterClass") print dll.Method(2,UserName,Password,dataF,kod,seria,nazwa,plattermin,"abc") lPoz = SetTaggedPos(NX) wend if dll then print "Obiekt istnieje " dll=xNull if dll then print "Obiekt dalej istnieje" print Close Otrzymuję komunikat "Server zajęty" a po kilku chwilach "Upłynął limit czasu operacji". Załącznik: bledy2.png [ 40.46 KiB | Przeglądany 2681 razy ] Wywołana metoda nr 2 napisana w .NET zwraca stringa, więc raczej wina nie leży po jej stronie poza tym jest otoczona blokiem try-catch i wiedziałbym gdyby ona nawaliła. Dla 2 dokumentów raport printuje tego stringa a potem "Obiekt istnieje 1" czyli zasób obiektu dispatch dll jest zwolniony. Jak zwolnic obiekt baseDK? Przypisanie do nulla lub zera nic nie daje. Jeśli to nie ten obiekt to gdzie może być błąd? Dlaczego raport zawiesza symfonię akurat przy 3cim wystąpieniu? |
Autor: | rafal [ 2017-06-08, 22:13 ] |
Tytuł: | Re: Niezwalnianie zasobów w raporcie przyczyną błędu? |
Zrób dll.Create przed pętlą. Gdzieś na początku raportu. |
Autor: | arnoldinho [ 2017-06-14, 12:20 ] |
Tytuł: | Re: Niezwalnianie zasobów w raporcie przyczyną błędu? |
jednak wina serwera ale rada użyteczna |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |