Enumerate Installed Com Objects With Vfp

Posted on -

Visual FoxPro can participate in Web service environments, although not as well. To create an object such as the DataObject above, you first create a Visual FoxPro object that can query data. You then have to convert the data to XML. You can use Visual FoxPro's XMLAdapter, but to help with this task, the developer still must do this task manually. I have a VFP com object I am using in a C# application. After I finish calling the method in the com object I need to release the object from memory and be able to rename the actual dll. I have done a research on the C# side and it seem this code would work.

Active2 years, 6 months ago
Com

I use Unmanaged Exports to create a native .dll from .NET .dll so I can access .NET code from Delphi without COM registration.

For example I have this .NET assembly:

When I define the same interface in Delphi, I can easily use the .NET object:

Com objects list

See my Delphi question and answers for details.

My question:
Is something like this possible in FoxPro? I've tried the following which fails with Data type mismatch error on line createdotnetadder(@ldnw):

Can I define interface in FoxPro similarly how I did it in Delphi? If not, can I use this .dll from FoxPro at all? I use Visual FoxPro 9.0 SP2. Thanks.

Community
Lukas CenovskyLukas Cenovsky
4,1722 gold badges23 silver badges38 bronze badges

Socket

2 Answers

Com Objects Tutorial

It seems that the simplest approach is to live with COM Registration. Far cry 4 dlc unlocker. The alternate approach is to manually host the CLR. Rick Strahl has an extensive post on how do do this from FoxPro:

Brian Vander PlaatsBrian Vander Plaats

You can also use the open source wwDotnetBridge project which automates the CLR runtime hosting processes for you and provides a host of other support features that make it easier to consume .NET types and structures in FoxPro.

wwDotnetBridge handles object creation for you and passes back COM instance just as native COM interop does, but it provides additional features otherwise not accessible through COM Interop:

  • Access to static methods and members
  • Access to value types
  • Support for updating arrays and collections
  • Support for overloaded methods and constructors
  • Access to generic types

and many helpers to let you work around the limitations in the COM->.NET mappings provided.

Rick StrahlRick Strahl
11.3k10 gold badges67 silver badges109 bronze badges

Not the answer you're looking for? Browse other questions tagged .netinterfacecomvisual-foxprofoxpro or ask your own question.