begin process at 2012 02 08 21:13:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Intéropérabilité C


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

Intéropérabilité C

mercredi 10 novembre 2004 à 22:08:46 | Intéropérabilité C

facdaar

Salut,

Je désire utiliser une dll native (en l'occurence cellcore.dll, mais peu importe) et j'ai un problème avec une structure en C que je veux déclarer en C# : j'ai beau respecter ce qui est écrit dans MSDN, ou d'autres sources, j'ai toujours l'erreur

The type or namespace name 'MarshalAs' could not be found (are you missing a using directive or an assembly reference?)

Voici la structure en C :


typedef struct simphonebookentry_tag {
DWORD cbSize;
DWORD dwParams;
TCHAR lpszAddress[MAX_LENGTH_ADDRESS];
DWORD dwAddressType;
DWORD dwNumPlan;
TCHAR lpszText[MAX_LENGTH_PHONEBOOKENTRYTEXT];
} SIMPHONEBOOKENTRY, *LPSIMPHONEBOOKENTRY;

et voici ma transcription en C# :

using System.Runtime.InteropServices;
...
[StructLayout(LayoutKind.Sequential)]
public struct SimPhonebookEntry {
public uint cbSize;
public uint dwParam;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=256)]
public char[] lpszAddress;
public uint dwAddressType;
public uint dwNumPlan;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=256)]
public char[] lpszText;
}

Est-ce que quelqu'un peut me dire pourquoi j'ai cette erreur alors que dans la littérature, il est écrit que la classe MarshalAsAttribute fait partie de System.Runtime.InteropServices
mercredi 10 novembre 2004 à 22:43:31 | Re : Intéropérabilité C

coq

Administrateur CodeS-SourceS
bizarre en effet
et si tu met


[StructLayout(LayoutKind.Sequential)]
public struct SimPhonebookEntry
{
public uint cbSize;
public uint dwParam;
[System.Runtime.InteropServices.MarshalAs(UnmanagedType.ByValArray, SizeConst=256)]
public char[] lpszAddress;
public uint dwAddressType;
public uint dwNumPlan;
[System.Runtime.InteropServices.MarshalAs(UnmanagedType.ByValArray, SizeConst=256)]
public char[] lpszText;
}


ça donne quoi ?


Cocoricoooooooo !!!!
coq
MVP Visual C#
mercredi 10 novembre 2004 à 23:44:23 | Re : Intéropérabilité C

facdaar

Malheureusement, même message, avec juste MarshalAs de sousligné en bleu !

En entête de fichier, j'ai ceci :

using System;
using System.Runtime.InteropServices;

namespace SIM {
...
}

Là, j'avoue que je suis sec...

David
jeudi 11 novembre 2004 à 01:01:43 | Re : Intéropérabilité C

TheSaib

Administrateur CodeS-SourceS
Quel Framework ?

::|The S@ib|::
MVP C#.NET
jeudi 11 novembre 2004 à 09:52:34 | Re : Intéropérabilité C

facdaar

Je travaille avec le framework .NET 1.1 version anglaise, et j'utilise Visual Studio .net 2003

?!?
David.
jeudi 11 novembre 2004 à 10:57:15 | Re : Intéropérabilité C

facdaar

J'ai posté mon code :

Accès à la carte SIM

Il est très court, et je me dis que l'erreur qui s'est glissée dedans doit être vraiment bête, mais comme cela arrive parfois, je bute dessus...

Juste un passionné,
David.
lundi 15 novembre 2004 à 19:37:47 | Re : Intéropérabilité C

coq

Administrateur CodeS-SourceS
euh, Compact Framework != Framework
MarshalAs n'existe tout simplement pas dans le CF


Cocoricoooooooo !!!!
coq
MVP Visual C#


Cette discussion est classée dans : public, dword, uint, marshalas, simphonebookentry


Répondre à ce message

Sujets en rapport avec ce message

Comment mettre une Liste chaine d'une dll dans un projet c# [ par kikoff ] alors voila j'ai dans un dll un liste chaine du genretypedef struct attribut{ struct shobj_att *next; char *nomcol; Conversion API Win32 -> C# [ par merlintintin ] J'aimerais utiliser des fonctions de l'APIen C#. Il faut pour cela redefinir les fonctions et les structures de l'API en C#. Malheureusement, je ne sa Liste processus [ par T103 ] Bonsoir a tous, Voila j'essaye de faire un programme qui m'affiche tous mes processus actif.Voici le code donc :[DllImport("KERNEL32.DLL",SetLastError Erreur DeviceIOControl : Fonction Incorrecte [ par tuxama ] Bonsoir,Je tente de récupérer quelques caractéristiques de mon disque physique principal.DeviceIOControl me retourne une erreur '1' : Fonction Incorre dllimport passage de structure en char * [ par toni93330 ] Bonjour,Voila, je sais qu'il y a pas mal de post sur les dllimport en c#, mais je n'ai pas trouvé ce que je cherche (ou mal ?).Alors voila j'ai une dl Tableaux dans une Structure [ par nykia ] Bonjour, Je cherche à réaliser un tableau dans une structure. Parce que du code est plus parlant, voici ce que je souhaite faire : namespace IHM { Process WinCE [ par churrros ] Bonjour! menu contextuel windows explorer [ par WieWeet ] bonjour, j'ai récupéré ( http://www.codeproject.com/KB/cs/shellContextMenu.aspx ) un exemple qui affiche le menu contextuel de windows explorer. je l' du C/C++ au C# [ par louvinon ] Bonjour,on me fournit une DLL faites en C++/C.En C++, j'ai ceci : typedef struct{ UCHAR cnv_name [8]; ULONG lgd_utcc; ULONG lgd_phys; ULONG lgd_m Interface générique et héritage [ par thiosyiasar ] Boujour,  J'ai un fournisseur de se


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 3,011 sec (3)

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