Quelqu'un peut-il me dire la meilleure façon d'appeler le code FoxPro 9 à partir d'une application .Net 3.51? J'ai une application de production héritée qui est écrite dans Fox 9. Je veux exposer autant de la logique et des processus d'affaires que je peux pour que je puisse le réutiliser à partir de .Net. Idéalement, je veux le faire d'une manière qui le rend invisible à l'application .Net afin que je puisse changer le code de Fox et le remplacer par le code .Net plus tard. Je pensais que je pouvais juste construire une DLL COM dans Fox et ensuite la référencer à partir de mon projet .Net mais je n'ai pas de joie avec ça (différentes erreurs dans Visual Studio quand je compile). Ai-je manqué un truc ici ou dois-je faire quelque chose comme construire un service web Fox?L'appel du code FoxPro à partir de .Net
Répondre
J'ai eu la chance dans le passé en prenant la classe foxpro je blême d'exposer et d'en faire hériter de l'objet Session -
DEFINE CLASSE B AS SESSION OLEPUBLIC
ensuite construire la DLL foxpro et l'enregistrer avec la commande RegSvr32. Ensuite, dans Visual Studio, l'objet COM doit apparaître sous l'onglet COM lorsque vous ajoutez des références à votre projet.
Jetez un oeil à cet article sur la conversion VFP - Calling VFP COM components from .Net and ASP.Net - il devrait vous aider à démarrer.
Il y a plusieurs mois, j'avais l'habitude de créer des classes FoxPro en tant que Com. Comme Kragan a suggéré de les rendre OLEPUBLIC et il exposera les méthodes. Pour l'autorisation, je les ai ajoutées à Com + (sous Vista/Windows 7 sous C: \ Windows \ System32 \ comexp.msc)
Ensuite, dans .Net en utilisant FoxProCom; (Point à la com Com +)
// Connexion à Com (en utilisant Com FoxPro (Nom du projet - voir Information sur le projet) et Nom de la classe type = TypeObjet Type.GetTypeFromProgID ("FoxProComProj.FoxProComClass", Environment.MachineName. ToString(), true);
// Activer Com objet oDComObject = Activator.CreateInstance (TypeObjet);
// Instancier Com FoxProCom.FoxProComClass oFoxCom = (FoxProCom.FoxProComClass) oDComObject;
oFoxCom.UseaOLECl ass()
// Effacer Com oFoxCom = null;
- 1. Appel d'un rapport FoxPro à partir de .Net
- 2. Error Logging FoxPro vs .Net
- 3. Lancer les rapports Reporting Services à partir du code .Net
- 4. Modifier le volume sonore à partir du code .net
- 5. Besoin d'aide pour déchiffrer une ligne de code assembleur, à partir du code .NET JITted
- 6. Obtention de l'emplacement de l'utilisateur à l'aide de Google à partir du code .NET
- 7. Appel du code .NET à partir d'IronPython, erreur lors du chargement de l'assembly log4net
- 8. Accès objet XAML à partir du code
- 9. Générer DropDownList à partir du code derrière
- 10. Liaison combobox avancée à partir du code
- 11. Appeler Snarl à partir du code java
- 12. Comment puis-je extraire des données d'un champ mémo FoxPro à l'aide de .NET?
- 13. Est-ce que Re-Fox (décompilateur FoxPro) produit du code utilisable?
- 14. Comment lire un message MSMQ à partir d'une application VB6 à l'aide du code .NET?
- 15. Corriger le nettoyage après avoir accédé à Oracle DB à partir du code .Net
- 16. .NET Générer des diagrammes de séquence à partir du code exécutable
- 17. Obtenir le code IL à partir du fichier binaire DLL
- 18. Fichiers FoxPro fxp
- 19. [net] comment injecter du code de débogage à un assemblage?
- 20. Récupère la valeur du noeud à partir du code XML
- 21. Exécution du code python à partir de l'application Cocoa standard
- 22. Lancer l'éditeur de contenu à partir du code
- 23. Générer du code vectoriel à partir de Haskell?
- 24. ligne de code bash à partir du fichier .configure
- 25. Comment générer du code C# à partir de fichiers WADL?
- 26. Comment accéder à RouteData à partir du code-behind?
- 27. Accès à une file d'attente à partir du code autonome
- 28. Appel du service Web .Net à partir de l'objectif C
- 29. Ouvrir une fenêtre .NET WPF ou Windows Form à partir du code VBA
- 30. Test si stocké Procs "Parse"/"Compiler" à partir du code