begin process at 2012 02 12 17:47:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

ActiveX / COM

 > 

utilisation d'une dll.net en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utilisation d'une dll.net en C

mercredi 9 mai 2007 à 16:35:49 | utilisation d'une dll.net en C

thmatew

Bonjour a tous,

Voila mon souci, j'ai besoin d'intégrer une dll.NET en C, j'aimerais savoir comment faire pour utiliser cette dll???!!!!
j'utilise Visual Studio .NET 2003, avant j'utilisai Borland Studio 2006 mais a cause de probleme de licence je ne peut plus l'utiliser.

Merci d'avance pour vos reponse .
jeudi 10 mai 2007 à 12:43:33 | Re : utilisation d'une dll.net en C

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Le C et le dotnet, c'est quand même des extrèmes : le C est pas objet, et le dotnet n'est pas compiler vers du langage machine. (Pas lors de la production des builds du moins)

Apparment, la solution, ce serait de recompiler ta dll dotnet pour qu'elle ressemble à du COM (dll ActiveX), et il faudrat que tu bosse ton C pour la prise en charge de COM. Je sais pas exactement ce qu'il faut faire, mais tu risque de devoir gérer les compteurs de références des classes COM manuellement. Il doit y avoir des tutos sur le sujet sur le net. (Aucun souci si tu fais du C++ bien sûr)

Pour la dll dotnet en COM, pareil, google et encore google.

Si tu trouve des bons liens, poste les ici, ça peut faciliter la vie des suivants qui auront ce problème (Assez courant).


jeudi 10 mai 2007 à 13:14:47 | Re : utilisation d'une dll.net en C

thmatew

je reexplique ma question autrement

voila, je me suis mal exprimé, c'est une dll activeX et c du C/C++ que j'utilise, j'arrive a intégrer ma dll ActiveX au projet mais voila ce ke je fais :

#import

"ModbusServer.tlb" //Importation de la bibliotheque de type

int

_tmain(int argc, _TCHAR* argv[])
{
   
         MODBUSSERVERLib::IModbusSrv mb;   //Implementation de la classe
}

et la il me jette il me dit que la classe est abstraite alor j'utilise un pointeur sur l'interface qui s'appel IModbusSrvPtr mais là il n'y a pas de methode associé comment faire pour utiliser ce pointeur pour avoir toutes les methode contenu dans IModbusSrv???
jeudi 10 mai 2007 à 15:53:11 | Re : utilisation d'une dll.net en C

rt15

Membre Club Administrateur CodeS-SourceS
Il faut apparement que tu utilise CoCreateInstance, mais je suis pas sûre que ce soit utile vu que tu impoort le tlb...

cf le deuxième code de cette page :

http://blogs.msdn.com/deeptanshuv/archive/2005/06/26/432870.aspx

#include "windows.h"
#include <stdio.h>
#import "CSDll.tlb" named_guids

int main(int argc, char* argv[])
{
    HRESULT hRes = S_OK;
    CoInitialize(NULL);
    CSDll::IMyManagedInterface *pManagedInterface = NULL;

    hRes = CoCreateInstance(CSDll::CLSID_Class1, NULL, CLSCTX_INPROC_SERVER, 
     CSDll::IID_IMyManagedInterface, reinterpret_cast<void**> (&pManagedInterface));

...

jeudi 10 mai 2007 à 23:36:38 | Re : utilisation d'une dll.net en C

katsankat

Membre Club
Depuis quand le C n'est pas orienté objet?
En outre MODBUSSERVERLib::IModbusSrv n'est pas du C mais du C++.
Il faut appeler un chat un chat.

vendredi 11 mai 2007 à 10:09:39 | Re : utilisation d'une dll.net en C

rt15

Membre Club Administrateur CodeS-SourceS
Bah depuis toujours.

Le C est procédural.

On ne peut pas faire de classes en C aussi facilement que l'on en fait en C++. (Le mot clé class est absent du C, on ne peut pas faire d'héritage de la même manière...)

Je suis parti du principe qu'il s'agissait de C vu que thmatew n'a parlé de C++ ni dans son titre, ni dans son premier post. mais sinon, effectivement, il fait au moins en partie du C++ (On peut mélanger les deux dans le même projet sans souci en passant les options qui vont bien au compilo)

vendredi 6 juillet 2007 à 11:06:52 | Re : utilisation d'une dll.net en C

katsankat

Membre Club
Désolé d'insister mais
Le C++ est un peu PLUS orienté objet.

Quand t'écris ça c'est un objet ou une déformation de l'esprit:

struct  {
  char *Nom;
  int  QI;
} Membre;

  Membre x;
  x.QI = 60;


Sans évoquer le fait qu'un fichier C est un objet avec ses variables et fonctions privées et publiques (ce qui est déclaré static est privé).


Cette discussion est classée dans : net, dll, utiliser, utilisation, studio


Répondre à ce message

Sujets en rapport avec ce message

utilisation DLL .NET en C++ [ par thmatew ] Bonjour amis programmeurs,J'ai un petit souci : comme le dit l'objet, je dois utiliser une dll .NET en C++, j'arrive à intégrer la dll à mon projet, j utilisation d'une DLL perso sous Borland C++ [ par thmatew ] Salut a tous,Je vous écrit car j'ai un gros souci : je n'arrive pas à utiliser une DLL .NET que j'ai creée, elle fonctionne parfaitement avec Visual S utiliser un dll non .net dans un projet VS C++ 2005 [ par dodz ] Salut,au fait j'ai un probleme lié à l'utilisation d'un dll non .Net dans un projet de Visual Studio  C++ 2005.J'ai reçu un .h et le dll ainsi que le Utilisation d'une dll compilée dans un programme C [ par Cako19 ] Bonjour, Je souhaite utiliser une fonction présente dans une dll compilée qu'on m'a fournie. Comment puis-je faire en sorte que le programme dans lequ Utiliser une DLL avec une interface en C [ par TheRobot ] Bonjour, Je developpe une application en VB.net et je voudrais utiliser une dll avec une interface C.A priori ce n'est pas possible car il n'y a pas d utilisation de dll avec visual studio [ par vdougnac ] Bonjour, J'utilise visual studio 2003 depuis très peu de temps et je doit utiliser une dll dans mon programme ecrit en c++. Avec cette dl comptaibilité C++ en .net [ par mamag ] Bonjour,j'ai développé une dll en visual studio C++. (je fais des acces à une base de données en utilisant l'encapsulation ADOLIB.)Le client utilise c utiliser une DLL sous vusual Studio [ par softreda ] quelqun  sais comment  appele a des fonction d'une DLL, sur VB .NET, quel genre de projet je dois créer? est ce que je dois le mettre dans un dossier Utilisation de yacscom.dll [ par NeoUmbrella ] Bonjour, je voudrais utiliser yacscom.dll dans un de mes projets Win32 n'utilisant pas les MFC.Cette DLL permet de créer un chat vocal.En Visual Basic utilisation __stdcall [ par MarmottE73 ] bonjour,j'ai un petit problème. je doit utiliser une dll en c++ dans un programme mais c'est la premiere fois. j'ai deja vu sur des forum qu'on utilis


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,696 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales