> Is there a way of using ActiceX in a more platform independent way.
There are basically a couple of things you can do.
One way to ensure ActiveX success is to use version dependent ProgIDs. A version dependent ProgID specifies a particular version of an object (using a dot<number>, as in Excel.Chart.8 for instance), guaranteeing the existence of a certain level of functionality or behavior.
Another is check for the existence of an object before you instantiate it. This is more or less easy, all you have to do is check the registry to see if the ProgID key exists. These ProgIDs are kept in HKEY_CLASSES_ROOTProgID. HKCR is often used as a notational shorthand to make it easer to talk about these:
HKEY_CLASSES_ROOT = HKCR
HKEY_CURRENT_USER = HKCU
HKEY_LOCAL_MACHINE = HKLM
HKEY_USERS = HKUS
HKEY_CURRENT_CONFIG = HKCC
If you want to go a step further, pick up the CLSID subkey's default value and look for that key in HKCRCLSID. There you'll usually find a subkey named "InprocServer", with possibly a "32" or "64" appended to the key name. Check for the existence of the named file (named in the Default value).
InprocServers execute in the same process space with the client. If the server is not an inproc then you'll find a subkey named "LocalServer" with possibly a "32" or "64" appended. Check for the existence of that file.
Sometimes you'll find a subkey named "RemoteServer" with possibly a "32" or "64" appended. Check to make sure you have access to the named system, and possibly connect to that machine's registry & file system to check that the object is available.
These two can help a lot, giving you the opportunity to at least tell the operators that "thus and so needs to be installed" or "upgrade to version X of product Y".
-SHAWN-
There are basically a couple of things you can do.
One way to ensure ActiveX success is to use version dependent ProgIDs. A version dependent ProgID specifies a particular version of an object (using a dot<number>, as in Excel.Chart.8 for instance), guaranteeing the existence of a certain level of functionality or behavior.
Another is check for the existence of an object before you instantiate it. This is more or less easy, all you have to do is check the registry to see if the ProgID key exists. These ProgIDs are kept in HKEY_CLASSES_ROOTProgID. HKCR is often used as a notational shorthand to make it easer to talk about these:
HKEY_CLASSES_ROOT = HKCR
HKEY_CURRENT_USER = HKCU
HKEY_LOCAL_MACHINE = HKLM
HKEY_USERS = HKUS
HKEY_CURRENT_CONFIG = HKCC
If you want to go a step further, pick up the CLSID subkey's default value and look for that key in HKCRCLSID. There you'll usually find a subkey named "InprocServer", with possibly a "32" or "64" appended to the key name. Check for the existence of the named file (named in the Default value).
InprocServers execute in the same process space with the client. If the server is not an inproc then you'll find a subkey named "LocalServer" with possibly a "32" or "64" appended. Check for the existence of that file.
Sometimes you'll find a subkey named "RemoteServer" with possibly a "32" or "64" appended. Check to make sure you have access to the named system, and possibly connect to that machine's registry & file system to check that the object is available.
These two can help a lot, giving you the opportunity to at least tell the operators that "thus and so needs to be installed" or "upgrade to version X of product Y".
-SHAWN-
last time I asked for ways to modify Excel-graphs. The hints to use the Macro-recorder helped me in finding the right objects, properties and methods. Thanks to everyone who pointed me to that resource.
Now I'm strugling with the following problem. I developed a program, saved it as Vee-Runtime and wanted to run it on a different machine. (Source machine had an english XP, Office 2003, Target machine had german XP, Office 97). The ActiveX components I used, were not existing on the target machine. By creating the appropriate path and copying Excel.exe to it I could get the VXE running, however this cannot be the right solution.
Is there a way of using ActiceX in a more platform independent way.
Thank you
Bernd
---
You are currently subscribed to vrf as: ming_meng@agilent.com To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".