-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
-----Message d'origine-----
Salut
est-il possible de charger une dll dynamiquement en c#
été écrite en c++ (non managé et sans passer par des
Si oui, quel sont les avantages et les inconvénients par
méthode consistant à créer un wrapper en C++ managé.
merci
@+, Nico
.
Merci
mais mon problème est que mon application C# ne connait pas (à l'avance)
DLL qu'elle va devoir charger et donc les objets ou les fonctions à
l'intérieur des dll.
merci quand même
@+, Nico
"Vko" a écrit dans le message de
news:2b4a01c49b35$7afed6f0$
Je sais pas si c'est vraiment ca que tu veux :
Mais oui il est possible de charger des méthode depuis des
DLL non-managé et non-COM.
Exemple :
[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
SetLastError=true,
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConventionÊllingConvention.StdCall)]
public static extern bool MoveFile(String src, String dst);
Pour les avantages et inconvénients ... je ne serais pas
répondre mais je te préconiserai un wrapper de classe pour
une meilleur homogénéité et maintenance de ton code. Par
code niveau performance ca fait une couche en plus.
>-----Message d'origine-----
>Salut
>
>est-il possible de charger une dll dynamiquement en c#
sachant que la dll a
>été écrite en c++ (non managé et sans passer par des
objets COM)
>
>Si oui, quel sont les avantages et les inconvénients par
rapport à une
>méthode consistant à créer un wrapper en C++ managé.
>
>
>merci
>
>@+, Nico
>
>
>.
>
Merci
mais mon problème est que mon application C# ne connait pas (à l'avance)
DLL qu'elle va devoir charger et donc les objets ou les fonctions à
l'intérieur des dll.
merci quand même
@+, Nico
"Vko" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:2b4a01c49b35$7afed6f0$a501280a@phx.gbl...
Je sais pas si c'est vraiment ca que tu veux :
Mais oui il est possible de charger des méthode depuis des
DLL non-managé et non-COM.
Exemple :
[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
SetLastError=true,
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConventionÊllingConvention.StdCall)]
public static extern bool MoveFile(String src, String dst);
Pour les avantages et inconvénients ... je ne serais pas
répondre mais je te préconiserai un wrapper de classe pour
une meilleur homogénéité et maintenance de ton code. Par
code niveau performance ca fait une couche en plus.
>-----Message d'origine-----
>Salut
>
>est-il possible de charger une dll dynamiquement en c#
sachant que la dll a
>été écrite en c++ (non managé et sans passer par des
objets COM)
>
>Si oui, quel sont les avantages et les inconvénients par
rapport à une
>méthode consistant à créer un wrapper en C++ managé.
>
>
>merci
>
>@+, Nico
>
>
>.
>
Merci
mais mon problème est que mon application C# ne connait pas (à l'avance)
DLL qu'elle va devoir charger et donc les objets ou les fonctions à
l'intérieur des dll.
merci quand même
@+, Nico
"Vko" a écrit dans le message de
news:2b4a01c49b35$7afed6f0$
Je sais pas si c'est vraiment ca que tu veux :
Mais oui il est possible de charger des méthode depuis des
DLL non-managé et non-COM.
Exemple :
[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
SetLastError=true,
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConventionÊllingConvention.StdCall)]
public static extern bool MoveFile(String src, String dst);
Pour les avantages et inconvénients ... je ne serais pas
répondre mais je te préconiserai un wrapper de classe pour
une meilleur homogénéité et maintenance de ton code. Par
code niveau performance ca fait une couche en plus.
>-----Message d'origine-----
>Salut
>
>est-il possible de charger une dll dynamiquement en c#
sachant que la dll a
>été écrite en c++ (non managé et sans passer par des
objets COM)
>
>Si oui, quel sont les avantages et les inconvénients par
rapport à une
>méthode consistant à créer un wrapper en C++ managé.
>
>
>merci
>
>@+, Nico
>
>
>.
>
Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
prototypage de ces fonctions, le marshaling (passage du managé au non
et vice-versa) ne va pas se faire sans douleur.
Pour ce qui est des objets, si il n'y pas d'export via COM, je te conseil
d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
une épreuve difficilement supportable pour le commun des mortels.
Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
manière bien plus confortable car tu peut mélanger du code qui utilise des
objets managé et des objets managés.
--
Paul Bacelar
Demandeur d'emploi
"Nicolas B" wrote in message
news:
> Merci
>
> mais mon problème est que mon application C# ne connait pas (à l'avance)
les
> DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> l'intérieur des dll.
>
> merci quand même
>
> @+, Nico
> "Vko" a écrit dans le message de
> news:2b4a01c49b35$7afed6f0$
> Je sais pas si c'est vraiment ca que tu veux :
> Mais oui il est possible de charger des méthode depuis des
> DLL non-managé et non-COM.
>
> Exemple :
>
> [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> SetLastError=true,
> CharSet=CharSet.Unicode, ExactSpelling=true,
> CallingConventionÊllingConvention.StdCall)]
> public static extern bool MoveFile(String src, String dst);
>
> Pour les avantages et inconvénients ... je ne serais pas
> répondre mais je te préconiserai un wrapper de classe pour
> une meilleur homogénéité et maintenance de ton code. Par
> code niveau performance ca fait une couche en plus.
>
> >-----Message d'origine-----
> >Salut
> >
> >est-il possible de charger une dll dynamiquement en c#
> sachant que la dll a
> >été écrite en c++ (non managé et sans passer par des
> objets COM)
> >
> >Si oui, quel sont les avantages et les inconvénients par
> rapport à une
> >méthode consistant à créer un wrapper en C++ managé.
> >
> >
> >merci
> >
> >@+, Nico
> >
> >
> >.
> >
>
>
Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
prototypage de ces fonctions, le marshaling (passage du managé au non
et vice-versa) ne va pas se faire sans douleur.
Pour ce qui est des objets, si il n'y pas d'export via COM, je te conseil
d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
une épreuve difficilement supportable pour le commun des mortels.
Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
manière bien plus confortable car tu peut mélanger du code qui utilise des
objets managé et des objets managés.
--
Paul Bacelar
Demandeur d'emploi
"Nicolas B" <braultnic@tiscali.fr> wrote in message
news:enzRjpzmEHA.3712@TK2MSFTNGP15.phx.gbl...
> Merci
>
> mais mon problème est que mon application C# ne connait pas (à l'avance)
les
> DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> l'intérieur des dll.
>
> merci quand même
>
> @+, Nico
> "Vko" <anonymous@discussions.microsoft.com> a écrit dans le message de
> news:2b4a01c49b35$7afed6f0$a501280a@phx.gbl...
> Je sais pas si c'est vraiment ca que tu veux :
> Mais oui il est possible de charger des méthode depuis des
> DLL non-managé et non-COM.
>
> Exemple :
>
> [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> SetLastError=true,
> CharSet=CharSet.Unicode, ExactSpelling=true,
> CallingConventionÊllingConvention.StdCall)]
> public static extern bool MoveFile(String src, String dst);
>
> Pour les avantages et inconvénients ... je ne serais pas
> répondre mais je te préconiserai un wrapper de classe pour
> une meilleur homogénéité et maintenance de ton code. Par
> code niveau performance ca fait une couche en plus.
>
> >-----Message d'origine-----
> >Salut
> >
> >est-il possible de charger une dll dynamiquement en c#
> sachant que la dll a
> >été écrite en c++ (non managé et sans passer par des
> objets COM)
> >
> >Si oui, quel sont les avantages et les inconvénients par
> rapport à une
> >méthode consistant à créer un wrapper en C++ managé.
> >
> >
> >merci
> >
> >@+, Nico
> >
> >
> >.
> >
>
>
Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
prototypage de ces fonctions, le marshaling (passage du managé au non
et vice-versa) ne va pas se faire sans douleur.
Pour ce qui est des objets, si il n'y pas d'export via COM, je te conseil
d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
une épreuve difficilement supportable pour le commun des mortels.
Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
manière bien plus confortable car tu peut mélanger du code qui utilise des
objets managé et des objets managés.
--
Paul Bacelar
Demandeur d'emploi
"Nicolas B" wrote in message
news:
> Merci
>
> mais mon problème est que mon application C# ne connait pas (à l'avance)
les
> DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> l'intérieur des dll.
>
> merci quand même
>
> @+, Nico
> "Vko" a écrit dans le message de
> news:2b4a01c49b35$7afed6f0$
> Je sais pas si c'est vraiment ca que tu veux :
> Mais oui il est possible de charger des méthode depuis des
> DLL non-managé et non-COM.
>
> Exemple :
>
> [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> SetLastError=true,
> CharSet=CharSet.Unicode, ExactSpelling=true,
> CallingConventionÊllingConvention.StdCall)]
> public static extern bool MoveFile(String src, String dst);
>
> Pour les avantages et inconvénients ... je ne serais pas
> répondre mais je te préconiserai un wrapper de classe pour
> une meilleur homogénéité et maintenance de ton code. Par
> code niveau performance ca fait une couche en plus.
>
> >-----Message d'origine-----
> >Salut
> >
> >est-il possible de charger une dll dynamiquement en c#
> sachant que la dll a
> >été écrite en c++ (non managé et sans passer par des
> objets COM)
> >
> >Si oui, quel sont les avantages et les inconvénients par
> rapport à une
> >méthode consistant à créer un wrapper en C++ managé.
> >
> >
> >merci
> >
> >@+, Nico
> >
> >
> >.
> >
>
>
Ok où est-ce que je pourrais trouver de la (bonne) doc sur le marshaling
le mangling.
pour moi il s'agit de terme barbare :-) que j'aimerai approfondir mais si
pense qu'au final je vais m'orienté vers un wrapper
merci @+
"Paul Bacelar" a écrit dans le message
de news:Oy$
> Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
> prototypage de ces fonctions, le marshaling (passage du managé au non
managé
> et vice-versa) ne va pas se faire sans douleur.
>
> Pour ce qui est des objets, si il n'y pas d'export via COM, je te
> d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
est
> une épreuve difficilement supportable pour le commun des mortels.
>
> Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
de
> manière bien plus confortable car tu peut mélanger du code qui utilise
> objets managé et des objets managés.
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Nicolas B" wrote in message
> news:
> > Merci
> >
> > mais mon problème est que mon application C# ne connait pas (à
> les
> > DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> > l'intérieur des dll.
> >
> > merci quand même
> >
> > @+, Nico
> > "Vko" a écrit dans le message de
> > news:2b4a01c49b35$7afed6f0$
> > Je sais pas si c'est vraiment ca que tu veux :
> > Mais oui il est possible de charger des méthode depuis des
> > DLL non-managé et non-COM.
> >
> > Exemple :
> >
> > [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> > SetLastError=true,
> > CharSet=CharSet.Unicode, ExactSpelling=true,
> > CallingConventionÊllingConvention.StdCall)]
> > public static extern bool MoveFile(String src, String dst);
> >
> > Pour les avantages et inconvénients ... je ne serais pas
> > répondre mais je te préconiserai un wrapper de classe pour
> > une meilleur homogénéité et maintenance de ton code. Par
> > code niveau performance ca fait une couche en plus.
> >
> > >-----Message d'origine-----
> > >Salut
> > >
> > >est-il possible de charger une dll dynamiquement en c#
> > sachant que la dll a
> > >été écrite en c++ (non managé et sans passer par des
> > objets COM)
> > >
> > >Si oui, quel sont les avantages et les inconvénients par
> > rapport à une
> > >méthode consistant à créer un wrapper en C++ managé.
> > >
> > >
> > >merci
> > >
> > >@+, Nico
> > >
> > >
> > >.
> > >
> >
> >
>
>
Ok où est-ce que je pourrais trouver de la (bonne) doc sur le marshaling
le mangling.
pour moi il s'agit de terme barbare :-) que j'aimerai approfondir mais si
pense qu'au final je vais m'orienté vers un wrapper
merci @+
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news:Oy$vDI3mEHA.392@tk2msftngp13.phx.gbl...
> Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
> prototypage de ces fonctions, le marshaling (passage du managé au non
managé
> et vice-versa) ne va pas se faire sans douleur.
>
> Pour ce qui est des objets, si il n'y pas d'export via COM, je te
> d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
est
> une épreuve difficilement supportable pour le commun des mortels.
>
> Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
de
> manière bien plus confortable car tu peut mélanger du code qui utilise
> objets managé et des objets managés.
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Nicolas B" <braultnic@tiscali.fr> wrote in message
> news:enzRjpzmEHA.3712@TK2MSFTNGP15.phx.gbl...
> > Merci
> >
> > mais mon problème est que mon application C# ne connait pas (à
> les
> > DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> > l'intérieur des dll.
> >
> > merci quand même
> >
> > @+, Nico
> > "Vko" <anonymous@discussions.microsoft.com> a écrit dans le message de
> > news:2b4a01c49b35$7afed6f0$a501280a@phx.gbl...
> > Je sais pas si c'est vraiment ca que tu veux :
> > Mais oui il est possible de charger des méthode depuis des
> > DLL non-managé et non-COM.
> >
> > Exemple :
> >
> > [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> > SetLastError=true,
> > CharSet=CharSet.Unicode, ExactSpelling=true,
> > CallingConventionÊllingConvention.StdCall)]
> > public static extern bool MoveFile(String src, String dst);
> >
> > Pour les avantages et inconvénients ... je ne serais pas
> > répondre mais je te préconiserai un wrapper de classe pour
> > une meilleur homogénéité et maintenance de ton code. Par
> > code niveau performance ca fait une couche en plus.
> >
> > >-----Message d'origine-----
> > >Salut
> > >
> > >est-il possible de charger une dll dynamiquement en c#
> > sachant que la dll a
> > >été écrite en c++ (non managé et sans passer par des
> > objets COM)
> > >
> > >Si oui, quel sont les avantages et les inconvénients par
> > rapport à une
> > >méthode consistant à créer un wrapper en C++ managé.
> > >
> > >
> > >merci
> > >
> > >@+, Nico
> > >
> > >
> > >.
> > >
> >
> >
>
>
Ok où est-ce que je pourrais trouver de la (bonne) doc sur le marshaling
le mangling.
pour moi il s'agit de terme barbare :-) que j'aimerai approfondir mais si
pense qu'au final je vais m'orienté vers un wrapper
merci @+
"Paul Bacelar" a écrit dans le message
de news:Oy$
> Les fonctions nécessaires sont LoadLibrary et GetProcAddress mais vu le
> prototypage de ces fonctions, le marshaling (passage du managé au non
managé
> et vice-versa) ne va pas se faire sans douleur.
>
> Pour ce qui est des objets, si il n'y pas d'export via COM, je te
> d'abandonner tout espoir, voir le mangling (décoration) C++ des méthodes
est
> une épreuve difficilement supportable pour le commun des mortels.
>
> Utilisez un wrapper en C++ managé va te permettre de faire le marshaling
de
> manière bien plus confortable car tu peut mélanger du code qui utilise
> objets managé et des objets managés.
> --
> Paul Bacelar
> Demandeur d'emploi
>
>
> "Nicolas B" wrote in message
> news:
> > Merci
> >
> > mais mon problème est que mon application C# ne connait pas (à
> les
> > DLL qu'elle va devoir charger et donc les objets ou les fonctions à
> > l'intérieur des dll.
> >
> > merci quand même
> >
> > @+, Nico
> > "Vko" a écrit dans le message de
> > news:2b4a01c49b35$7afed6f0$
> > Je sais pas si c'est vraiment ca que tu veux :
> > Mais oui il est possible de charger des méthode depuis des
> > DLL non-managé et non-COM.
> >
> > Exemple :
> >
> > [DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",
> > SetLastError=true,
> > CharSet=CharSet.Unicode, ExactSpelling=true,
> > CallingConventionÊllingConvention.StdCall)]
> > public static extern bool MoveFile(String src, String dst);
> >
> > Pour les avantages et inconvénients ... je ne serais pas
> > répondre mais je te préconiserai un wrapper de classe pour
> > une meilleur homogénéité et maintenance de ton code. Par
> > code niveau performance ca fait une couche en plus.
> >
> > >-----Message d'origine-----
> > >Salut
> > >
> > >est-il possible de charger une dll dynamiquement en c#
> > sachant que la dll a
> > >été écrite en c++ (non managé et sans passer par des
> > objets COM)
> > >
> > >Si oui, quel sont les avantages et les inconvénients par
> > rapport à une
> > >méthode consistant à créer un wrapper en C++ managé.
> > >
> > >
> > >merci
> > >
> > >@+, Nico
> > >
> > >
> > >.
> > >
> >
> >
>
>