Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Creating a VFP9 COM to be used in VFP8 code
Message
From
10/08/2007 13:50:03
 
 
To
10/08/2007 13:19:18
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
01247363
Message ID:
01247468
Views:
27
Jay,

Wow, what a nightmare not to be able to use VFP9 and to have to mess around with COM.

I might be wrong, but I think you will have to build a VFP9 COM EXE and not a DLL. Reason: you have to have the VFP9 Runtime library available to supply the necessary VFP9 action. If you build a VFP9 COM DLL it is inprocess and I believe it will try to use the VFP8 Runtime library and that's obviously not what you want.

Obviously, you will also have to distribute the VFP9 runtime support in your distribution.

Again, I might be wrong on this, but that's what my gut and limited experience says.

>>>>>This is an exchange I had with someone recently and wanted to know if someone could verify that the assertions sound reasonable. Any additional insight/references welcome as well. There are a couple gaps where there was proprietary information, but the gist of it is here. Thanks!
>>>>
>>>>Some of them are not correct. From what I understand you have a chance to compile it some way. If it's so why would you ever want to create a COM and deal with COM problems. Creating a COM and using it as a 'server' looks appealing but it's also a trouble IMHO. Instead create your objects as needed using those libraries. In code the difference looks like:
>>>>
>>>>*COM
>>>>oMyObject = createobject('myCOMDLL.myCOMClass')
>>>>
>>>>*non COM
>>>>oMyObject = newObject('myClass','myClassLib.prg') && or myClasslib.vcx
>>>>
>>>>I would go with the latter (but that's me).
>>>>Cetin
>>>
>>>So, I don't need a COM, just a new object in my VFP8 code to reference the VFP9 class?
>>
>>If the class' code is not there you can't recompile and as soon as a VFP9 specific function/command encountered it'd error. Same thing with creating a COM. How would you create a COM without using VFP9 with a VFP9 compiled lib? If you have ability to do that then you can compile all under VFP9. There is no VFP8 in equation.
>>
>>It's getting harder to explain in plain English, hopefully you see what I'm saying.
>>Cetin
>
>I have a huge application written in VFP8 that we are not going to recompile with VFP9. The class I want to use is written specifically VFP9 and above with no ability to use directly in VFP8. I'm unable to edit many of the methods/properties. I want to use this class because it does exactly what I want it to and I have already used it in a very small VFP9 service. I will build the COM in VFP9, then reference it from the VFP8 code. Or that is what I believe I can do.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform