Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Registering a .net dll for com interop with VFP
Message
De
22/07/2009 08:49:16
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Titre:
Registering a .net dll for com interop with VFP
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Desktop
Divers
Thread ID:
01413719
Message ID:
01413719
Vues:
138
I have a dll provided by a third party which I access from a VFP9 app. This dll provides an API to communicate with a c#.net app. On my two development machines, I run the C# app and then register the api dll using regasm with the /codebase and /tlb switch. From that point on, I can create the objects in my vfp app and communicate with the api dll successfully. I can pass information to the C# app using the api dll and events in my foxpro app fire as they should from the c# net app via the api dll. On my workstations, I had the api dll originally registered out of another directory (for code test purposes only), not the foxpro app directory. I did, however, put a copy of the dll and tlb file in the app's directory and register it using the same process from there. It works on my two development machines. It also works from two other test machines.

However, on just about every other workstation, I cannot get my foxpro app to work with api dll. If fails everytime I issue the createobject() command. Yet, if I search the registry, I can see that the api dll is registered in that directory. All machines have XP SP3 and have the same foxpro files installed as far as I can see. The api dll has the dotnet framework 2.0 as a dependency and I installed the 3.5 just to be safe (it installs all of the previous versions). When I manually issue regasm it is successful. It works on my daughters pc which has nothing but windows xp, the dotnet framework, the api dll, and my foxpro test app with the foxpro runtime files. Yet it doesn't work on other machines with a full version of foxpro and xp and the dotnet framework.

Any ideas anyone? The provider never worked with com interop before so they are no help really. So far they have made changes to the api dll as I've requested when I tell them what the requirement is in order for our app to interface with theirs (basically how to build a com interop assembly in dotnet).

The api dll does NOT have a strong name so it does not go into the GAC. This has not been an issue on some workstations though (including my two development machines and my daughter's test pc).

When I was able to communicate with it successfully from my foxpro app from my two development machines (no vfp except for the runtime files) and two other non-development machines I figured it would work on all. That is not the case.

Any ideas are welcome!
.·*´¨)
.·`TCH
(..·*

010000110101001101101000011000010111001001110000010011110111001001000010011101010111001101110100
"When the debate is lost, slander becomes the tool of the loser." - Socrates
Vita contingit, Vive cum eo. (Life Happens, Live With it.)
"Life is not measured by the number of breaths we take, but by the moments that take our breath away." -- author unknown
"De omnibus dubitandum"
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform