mojaSymfonia FORUM
https://forum.mix-soft.pl/

Zwalnianie obiektów biznesowych
https://forum.mix-soft.pl/viewtopic.php?f=15&t=4892
Strona 1 z 1

Autor:  iluvathar [ 2013-04-19, 16:02 ]
Tytuł:  Zwalnianie obiektów biznesowych

Witam

Poszukuję informacji na temat czyszczenia/zwalniania obiektów dispatch a raczej uruchamianych za ich pomocą obiektów biznesowych.

W raporcie od integracji z FK znalazłem metodę Clear() uruchamianą dla obiektu BDokumentPn.

Jednak w dokumentacji nic nie piszą o takiej metodzie dla tego obiektu biznesowego.

W całej dokumentacji jedynym miejscem w którym jest napisane coś o tej metodzie jest fragment należący do dokumentacji obiektu BKonfiguracjaRaportow o następującej treści: "Czyści dotychczasowe ustawienia dla wykonywania raportów i procedur przy zajściu odpowiedniego zdarzenia. Po wywołaniu metody funkcjonalność jest wyłączona (stan domyślny)."

Interesuje mnie czyszczenie/zwalnianie obiektów biznesowych BKontrahent, BTowar, BDokumentyMg/Sp.
Jakie jest zachowanie tej metody, czy tylko zeruje atrybuty tych obiektów czy też pozwala na zwolnienie zajmowanej przez niego pamięci?

Chciał bym prosić o jakieś rozwinięcie tematu.

Autor:  rafal [ 2013-04-19, 16:31 ]
Tytuł:  Re: Zwalnianie obiektów biznesowych

A zaszła taka potrzeba, żeby zwalniać pamięć?

propozycja
Kod:
dispatch xTw = xFactory.NewObject("BTowar")
dispatch xNull

[...]

xTw = xNull

Autor:  iluvathar [ 2013-04-20, 01:08 ]
Tytuł:  Re: Zwalnianie obiektów biznesowych

Niestety tak, gdyż synchronizuje kartoteki z zewnętrznym systemem.
Oznacza to że dość często muszę synchronizować do 1000 rekordów, a zdarza się czasem że ta pula przekracza sto tysięcy.
Zaobserwowałem jednak że po zakończeniu operacji pamięć nie jest zwalniana i potrafi zajmować nawet ponad 500 MB przy liczbie danych przekraczających tysiąc, nie wiem jak bardzo są pożerane zasoby przy synchronizacji znacznie przekraczającą pule zbliżoną do tysiąca.
Pamięć jest oczywiście zwalniana dopiero, gdy zamkniemy program.

Dlatego też urodził się ten problem ze zwalnianiem pamięci, którego rozwiązania obecnie poszukuję.

Prosił bym jednak jakiś komentarz odnośnie metody Clear().
Czy każdy obiekt biznesowy jest w niego wyposażony?

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/