Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Je suis actuellement en PB 11.5.1 Desktop.
J'ai créé une dll en C# avec Visual Studio 2013 qui contient une classe qui contient elle même une fonction
namespace ClassLibrary1 { public class Class1 { public string Essai(string message) { return message + " : bien reçu"; } } }
Je voudrais appeler la fonction Essai mais je ne sais pas comment faire?
J'ai essayer d'ajouter cette fonction dans mes Global External Fonction
public function string Essai(string as_message) LIBRARY "ClassLibrary1.dll" alias for "EssaiA;Ansi"
Puis de l'appeler dans une fonction PB
retour = Essai(message_origine)
Mais j'obtiens le message
"Error calling external function EssaiA;Ansi at line 28 in function f_lance_envoi_stat of object f_lance_envoi_stat."
Pouvez-vous m'aider?
Merci d'avance
Dernière modification par Amélie (23-10-2015 09:41:38)
Hors ligne
Sans vouloir dire de bêtise pour rendre une dll .net visible par PB il faut la rendre COM Visible et l'enregistrer par un regasm
using System.Runtime.InteropServices; namespace TonInterop { [ComVisible(true)] [ClassInterface(ClassInterfaceType.AutoDual)] [ProgId("TonInterop.Toto")] public class TaClasse {
Et dans PB tu l'utilises par un OLE object
oleobject loo_dll loo_dll = CREATE oleobject li_ret = loo_vbh.connectToNewObject("TonInterop.Toto")
En espérant que ça puisse t'aider un peu.
Dernière modification par _francois_ (10-11-2014 16:26:33)
Hors ligne
Pages: 1