Je viens de passer de visual C++ à visual C#.
Dans les application en C++, dans "Project Settings" --> Link -->
Object/Library modules : j'inscrivais le nom de la librairie externe dont
j'avais besoin et ensuite, dans mes programmes, il etait possible d'utiliser
ces fonctions integrées.
Comment faire dans Visual C# pour utiliser ces mêmes fonctions ?
Quelqu'un aurait-il un exemple ?
Dans les application en C++, j'utilisait un fichier .h qui contenait les
constantes de mon programme.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ambassadeur Kosh
> Je viens de passer de visual C++ à visual C#. Dans les application en C++, dans "Project Settings" --> Link --> Object/Library modules : j'inscrivais le nom de la librairie externe dont j'avais besoin et ensuite, dans mes programmes, il etait possible d'utiliser ces fonctions integrées.
dans ton projet, tu as les referencies. c'est la que tu ajoutes les assemblies declarés dans le GAC, les assemblies, les objets COM...
Comment faire dans Visual C# pour utiliser ces mêmes fonctions ? Quelqu'un aurait-il un exemple ?
rien de compliqué. bouton droit sur les referencies, et ajouter.
Dans les application en C++, j'utilisait un fichier .h qui contenait les constantes de mon programme.
public class Math { public const double Pi = 3.1415 ; public static readonly string Special = ReadFromConfig("Special") ;
private static string ReadFromConfig(string name) { ... } } ... public class Test { public double f(double x) { double y = x*x*Math.Pi ; } }
tout passe par des classes. qu'elles soient dans ton projet, ou dans une dll (assembly) visible par le projet, c'est pareil. plus de bricolage textuel à deux balles avec les .h.
> Je viens de passer de visual C++ à visual C#.
Dans les application en C++, dans "Project Settings" --> Link -->
Object/Library modules : j'inscrivais le nom de la librairie externe dont
j'avais besoin et ensuite, dans mes programmes, il etait possible
d'utiliser
ces fonctions integrées.
dans ton projet, tu as les referencies.
c'est la que tu ajoutes les assemblies declarés dans le GAC, les assemblies,
les objets COM...
Comment faire dans Visual C# pour utiliser ces mêmes fonctions ?
Quelqu'un aurait-il un exemple ?
rien de compliqué. bouton droit sur les referencies, et ajouter.
Dans les application en C++, j'utilisait un fichier .h qui contenait les
constantes de mon programme.
public class Math
{
public const double Pi = 3.1415 ;
public static readonly string Special = ReadFromConfig("Special") ;
private static string ReadFromConfig(string name) { ... }
}
...
public class Test
{
public double f(double x)
{
double y = x*x*Math.Pi ;
}
}
tout passe par des classes. qu'elles soient dans ton projet, ou dans une dll
(assembly) visible par le projet, c'est pareil. plus de bricolage textuel à
deux balles avec les .h.
> Je viens de passer de visual C++ à visual C#. Dans les application en C++, dans "Project Settings" --> Link --> Object/Library modules : j'inscrivais le nom de la librairie externe dont j'avais besoin et ensuite, dans mes programmes, il etait possible d'utiliser ces fonctions integrées.
dans ton projet, tu as les referencies. c'est la que tu ajoutes les assemblies declarés dans le GAC, les assemblies, les objets COM...
Comment faire dans Visual C# pour utiliser ces mêmes fonctions ? Quelqu'un aurait-il un exemple ?
rien de compliqué. bouton droit sur les referencies, et ajouter.
Dans les application en C++, j'utilisait un fichier .h qui contenait les constantes de mon programme.
public class Math { public const double Pi = 3.1415 ; public static readonly string Special = ReadFromConfig("Special") ;
private static string ReadFromConfig(string name) { ... } } ... public class Test { public double f(double x) { double y = x*x*Math.Pi ; } }
tout passe par des classes. qu'elles soient dans ton projet, ou dans une dll (assembly) visible par le projet, c'est pareil. plus de bricolage textuel à deux balles avec les .h.
GG
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: #define TOTO_OUI 0 #define TOTO_NON 1
en
public const int TOTO_OUI = 0; public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Merci
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai:
#define TOTO_OUI 0
#define TOTO_NON 1
en
public const int TOTO_OUI = 0;
public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue
(message indiquant que ce n'est pas un assembly valide ou d'un composant .COM)
Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: #define TOTO_OUI 0 #define TOTO_NON 1
en
public const int TOTO_OUI = 0; public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Merci
Lloyd Dupont
> plus de bricolage textuel à deux balles avec les .h.
bien parler Ambassadeur Kosh ;-)
> plus de bricolage textuel à deux balles avec les .h.
> plus de bricolage textuel à deux balles avec les .h.
bien parler Ambassadeur Kosh ;-)
P. RICHARDOT
GG avait écrit le 21/07/2005 :
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: #define TOTO_OUI 0 #define TOTO_NON 1
en
public const int TOTO_OUI = 0; public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Merci
Salut,
si cest pas une dll ".net" et pas aussi une dll COM, il faut faire un wrapping.
Regarde du coté du pInvoke, c'est peut etre un terme barbare pour toi, mais c'est ce qui permet de dialoguer entre les 2 mondes si je puis dire (win32 et .net)
Patrick.
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
GG avait écrit le 21/07/2005 :
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai:
#define TOTO_OUI 0
#define TOTO_NON 1
en
public const int TOTO_OUI = 0;
public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue
(message indiquant que ce n'est pas un assembly valide ou d'un composant
.COM) Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Merci
Salut,
si cest pas une dll ".net" et pas aussi une dll COM,
il faut faire un wrapping.
Regarde du coté du pInvoke, c'est peut etre un terme barbare pour toi,
mais c'est ce qui permet de dialoguer entre les 2 mondes si je puis
dire
(win32 et .net)
Patrick.
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: #define TOTO_OUI 0 #define TOTO_NON 1
en
public const int TOTO_OUI = 0; public const int TOTO_NON = 1;
Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) Y a-t-il une procedure autre que "Ajouter une reference ..." ?
Merci
Salut,
si cest pas une dll ".net" et pas aussi une dll COM, il faut faire un wrapping.
Regarde du coté du pInvoke, c'est peut etre un terme barbare pour toi, mais c'est ce qui permet de dialoguer entre les 2 mondes si je puis dire (win32 et .net)
Patrick.
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
GG
Merci pour vos réponses, je vai maintenant tester. Ca n'a pas l'air simple mais ca devrait aller.
"Lloyd Dupont" a écrit :
haha..... il semble que ce que tu essaye de faire c'est d'utiliser une librarie C comme si de rien n'etait avec ton project C#.
C'est un tout autre sujet!
=> "Interop" ca demande un peu de travail, je te conseille de consulter la documentation a ce sujet.
En gros il te faut redeclarer en C# les fonction C (ben oui, vu que tu utilise pas les headers, il faut bien lui dire au C# a quoi ca ressemble ces fonctions.....)
je te refere a ce site pour avoir vite faite les declaration pour l'API Win32: http://pinvoke.net
sinon voila un exemple de a quoi ca ressemble: using System.Runtime.InteropServices;
public class FormInvisible : Form { const int GWL_USERDATA = (-21); const int GWL_ID = (-12);
const int WS_EX_TRANSPARENT = 0x20; const int WS_EX_DLGMODALFRAME = 0x1; const int WS_EX_NOPARENTNOTIFY = 0x4;
[DllImport("user32.dll")] static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); }
"GG" wrote in message news: > > Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: > #define TOTO_OUI 0 > #define TOTO_NON 1 > > en > > public const int TOTO_OUI = 0; > public const int TOTO_NON = 1; > > Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue > (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) > Y a-t-il une procedure autre que "Ajouter une reference ..." ? > > Merci > >
Merci pour vos réponses, je vai maintenant tester. Ca n'a pas l'air simple
mais ca devrait aller.
"Lloyd Dupont" a écrit :
haha.....
il semble que ce que tu essaye de faire c'est d'utiliser une librarie C comme si de rien n'etait avec ton project C#.
C'est un tout autre sujet!
=> "Interop"
ca demande un peu de travail, je te conseille de consulter la documentation a ce sujet.
En gros il te faut redeclarer en C# les fonction C (ben oui, vu que tu utilise pas les headers, il faut bien lui dire au C# a quoi ca ressemble ces fonctions.....)
je te refere a ce site pour avoir vite faite les declaration pour l'API Win32:
http://pinvoke.net
sinon voila un exemple de a quoi ca ressemble:
using System.Runtime.InteropServices;
public class FormInvisible : Form
{
const int GWL_USERDATA = (-21);
const int GWL_ID = (-12);
const int WS_EX_TRANSPARENT = 0x20;
const int WS_EX_DLGMODALFRAME = 0x1;
const int WS_EX_NOPARENTNOTIFY = 0x4;
[DllImport("user32.dll")]
static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
}
"GG" <GG@discussions.microsoft.com> wrote in message news:86B0DBCB-5AFC-4E37-855C-54C80D186206@microsoft.com...
>
> Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai:
> #define TOTO_OUI 0
> #define TOTO_NON 1
>
> en
>
> public const int TOTO_OUI = 0;
> public const int TOTO_NON = 1;
>
> Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue
> (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM)
> Y a-t-il une procedure autre que "Ajouter une reference ..." ?
>
> Merci
>
>
Merci pour vos réponses, je vai maintenant tester. Ca n'a pas l'air simple mais ca devrait aller.
"Lloyd Dupont" a écrit :
haha..... il semble que ce que tu essaye de faire c'est d'utiliser une librarie C comme si de rien n'etait avec ton project C#.
C'est un tout autre sujet!
=> "Interop" ca demande un peu de travail, je te conseille de consulter la documentation a ce sujet.
En gros il te faut redeclarer en C# les fonction C (ben oui, vu que tu utilise pas les headers, il faut bien lui dire au C# a quoi ca ressemble ces fonctions.....)
je te refere a ce site pour avoir vite faite les declaration pour l'API Win32: http://pinvoke.net
sinon voila un exemple de a quoi ca ressemble: using System.Runtime.InteropServices;
public class FormInvisible : Form { const int GWL_USERDATA = (-21); const int GWL_ID = (-12);
const int WS_EX_TRANSPARENT = 0x20; const int WS_EX_DLGMODALFRAME = 0x1; const int WS_EX_NOPARENTNOTIFY = 0x4;
[DllImport("user32.dll")] static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); }
"GG" wrote in message news: > > Donc, si j'ai tout compris, je doit donc modifier les fichier .h que j'ai: > #define TOTO_OUI 0 > #define TOTO_NON 1 > > en > > public const int TOTO_OUI = 0; > public const int TOTO_NON = 1; > > Pour les librairies dont j'aimerais me servir, la dll n'est pas reconnue > (message indiquant que ce n'est pas un assembly valide ou d'un composant .COM) > Y a-t-il une procedure autre que "Ajouter une reference ..." ? > > Merci > >