Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Object Pooling and Construction and JITA
Message
From
07/11/2002 13:04:05
Joel Leach
Memorial Business Systems, Inc.
Tennessee, United States
 
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
00719838
Message ID:
00719938
Views:
10
Hi Steve,

You are correct that VFP7 MTDLLs do not support COM+ object pooling. FWIW, I understand that VB6 DLLs do not either. Before the multi-threaded runtime was available, even though multiple instances of a COM object were created, only one could execute at a time. The MT runtime solved this problem by allowing the objects to execute code simultaneously, but it does not allow multiple clients to share a single instance.

I recently discussed this subject with Rick Strahl. He indicated that even though VFP does not support object pooling, the instantiate/release performance is not that bad. Of course, if you have a lot going on in Init(), that would slow things down. Otherwise, you should do some testing to see if performance is acceptable.

>It looks like VFP7 MTDLLs cannot make use of object pooling. I created a simple DLL that StrToFile's Sys(0) and put that in a new COM+ application (Win2K/SP3). The [x] Enable Object Pooling box is greyed out. Is that because VFP7 MTDLLs are really STA?
>
>I can check enable object construction. Does anyone have an example of how I could use that with my MTDLL (have it read and acted upon in the Init perhaps)?
>
>Is it worth it to have JITA checked (the default)?
>
>
>Sample aside, I am putting together a fairly-heavy-hit MTDLL that instances MSXML4 DLL a lot, and I was hoping that I could keep a pool of my stuff in memory to keep the instance-start-time low. I think I'd have to make a package for MSXML4 also to keep it in memory, right?
>
>And does VFP8 change any of this?
>
>Thanks.
Joel Leach
Microsoft Certified Professional
Blog: http://www.joelleach.net
Previous
Reply
Map
View

Click here to load this message in the networking platform