Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Free some GDI Handlers
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2008
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Desktop
Divers
Thread ID:
01530443
Message ID:
01530464
Vues:
85
>>>>>>Is there a way to free some of GDI resources used?
>>>>>>
>>>>>>I saw that when I generate a huge number of pages the Application exceed the defined GDI handlers(10000).
>>>>>>This is a payroll statements generation utility and it generates more than 4000 PDFs (using XFRX) and send them by email.
>>>>>>but after 1500th PDF the system crashed :-)
>>>>>>Is there some API function like GetGuiResources() but SETGuiResources() :-))))
>>>>>>
>>>>>>
>>>>>>I don't want to do anything with the Windows Registry. I know that there is a way to increase GDI handlers with Registry, but as I said, i don't want to manipulate them.
>>>>>>
>>>>>>TIA
>>>>>
>>>>>Would it be easier just to generate them in batches (maybe 500/batch) and completely close XFRX and any mail handler between batches?
>>>>
>>>>I tried this, but the handlers aren't released.
>>>>I even tried CLEAR RESOURCES :-)
>>>
>>>Does this help to see what is grabbing the GDI handles..?
>>>
>>>http://www.nirsoft.net/utils/gdi_handles.html
>>
>>I used Windows Task Manager to see GDI handlers and saw that WAIT WINDOW at each refresh increases the GDI handlers with 2.
>>I removed it, but Every .Transform() method takes 2 handlers also.
>>And the worst thing is that I don't know how to free these handlers.
>
>Is the Transform call coming from XFRX? If it is, shoot them an email and ask them about it. They may have suggestions or they likely will try to fix (not that that will help immediately).
>
>Are you running this code on a server or what O/S? It might be worth trying from a different O/S in case it handles GDI differently.


Transform() is a method in XFRX.
I have the code and didn't see anything suspicious in it.
BTW
This:
loSession.TransformReport(...)
takes 2 additional handler BEFORE it even starts its code :-)
I put ASSERT bfore that line and STEP IN the code.
Immediately after LPARAMRTERS line 2 handlers are opened :-)
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform