Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How can I tell if a COM object is running?
Message
From
05/06/2001 11:32:27
Rex Mahel
Realm Software, Llc
Ohio, United States
 
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
00515028
Message ID:
00515150
Views:
12
Nick

This Init() code:
strtofile("In ImpactCOM.Init" + chr(13)+chr(10),"impactcom.log")
IF ! dodefault()
	RETURN .F.
ENDIF
	
strtofile("ImpactCOM created" + chr(13)+chr(10),"impactcom.log",.t.)
Since I can run a FOPEN on the DLL file and get a file handle, I guess the COM server is not running.

If I attempt to create the COM application class from VFP, there are no errors.

Doesn't the COM server try to run after compilation of the DLL?

TIA

Rex

>Rex,
>
>What code is in its Init() method? May be Init() fails and the object is not instantiated. Try to run it as normal VFP object, as Vlad says, and trace its Init(). Did you try to put STRTOFILE() in the beginning of Init()?
>
>>Vlad,
>>
>>My COM object instantiates fine in VFP. FOPEN for my DLL return a file handle, so the DLL is NOT running.
>>
>>Any other ideas?
>>
>>TIA
>>
>>Rex
>>
>>>Hi!
>>>
>>>Yes, if that STRTOFILE calls work ok in design-tme mode from command window.
>>>Try to create the object from design-time mode:
>>>SET CLASSLIB (or SET PROCEDURE if your class in the PRG)
>>>oo=createobject('MyComObject')
>>>
>>>Than test if it works as usual VFP object. In moset cases you will find a problem that way.
>>>
>>>HTH,
>>>
>>>>Vlad,
>>>>
>>>>I tried adding STRTOFILE commands in the COM's Init method. No files were created after compilation. Does this mean the COM object was not instantiated?
>>>>
>>>>TIA
>>>>
>>>>Rex
>>>>
>>>>>Hi!
>>>>>
>>>>>Try to open its DLL or EXE exclusively, something like FOPEN('...MyCOMObjectModule.DLL',12). This wa
>>>>>If successful, you can be sure it is not used.
>>>>>
>>>>>As about running its code (working by taking the processir time) - cannot tell anything. Probably you can do that using API functions, but better to maintain some sort of flag in each function of the COM object. If flag is set, the object is running. Stroer also the time when flag is created to avoid situation with power off or crashes.
>>>>>
>>>>>HTH.
>>>>>
>>>>>>All,
>>>>>>
>>>>>>I have a COM object that should be running on my machine. How can I tell if this is the case?
>>>>>>
>>>>>>TIA
>>>>>>
>>>>>>Rex
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform