Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How can I tell if a COM object is running?
Message
De
05/06/2001 11:32:27
Rex Mahel
Realm Software, Llc
Ohio, États-Unis
 
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Divers
Thread ID:
00515028
Message ID:
00515150
Vues:
13
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform