Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-22, 08:01x



Odpowiedz w temacie  [ Posty: 3 ] 
Niezwalnianie zasobów w raporcie przyczyną błędu? 
Autor Wiadomość

Rejestracja: 2017-05-30, 09:59
Posty: 18
Pomógł: 1
Post 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
bledy2.png [ 40.46 KiB | Przeglądany 2488 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?


2017-06-08, 18:23
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post Re: Niezwalnianie zasobów w raporcie przyczyną błędu?
Zrób dll.Create przed pętlą. Gdzieś na początku raportu.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2017-06-08, 22:13
Wyświetl profil

Rejestracja: 2017-05-30, 09:59
Posty: 18
Pomógł: 1
Post Re: Niezwalnianie zasobów w raporcie przyczyną błędu?
jednak wina serwera ale rada użyteczna


2017-06-14, 12:20
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 3 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. KDF Błąd odczytu pracownika. Co jest przyczyną ?

w Programy Kadrowo Płacowe

bazon

0

1622

2013-04-24, 11:05

bazon Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Faktura korygujaca WDT - przyczyna korekty - zły kurs

w Programy Handlowe

Milka17

0

1740

2018-01-06, 23:01

Milka17 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Obsługa błędu ADODB.Error

w Programowanie

iluvathar

0

2197

2012-11-06, 23:34

iluvathar Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 16 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant