begin process at 2010 02 10 01:16:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Mémoire

 > 

Retour d une DLL


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

Retour d une DLL

mercredi 14 juin 2006 à 14:36:37 | Retour d une DLL

ZaRMaS

Salut a tous,

J ai un petit probleme avec ma dll code en C. Elle retourne un char * et je cherche a recuperer en csharp le retour de cette fonction. Voici ma declaration

      [DllImport("myDll.dll")]
        public static extern unsafe string myFunction([MarshalAs(UnmanagedType.LPArray)] byte[] myData, int width, int height);
Donc elle prend en parametre un tableau de byte et cela ne pose aucun probleme;

Voici la fonction code en C :

 char        *myFunction(char *myData, int Arg_width, int Arg_height)
{
    char *myNewData  =malloc(strlen(myData) * sizeof (char));

    //La fonction remplie myNewData;

    return (myNewData)
}

Ce qui me parait etrange et qui explique pk je psote du code en C c est que ca marche des fois et d autre "non" comme si j avais rate un malloc. APres avoir bien verifie je trouve rien de suspect et donc jeme suis dit que cela pouvait venir du cast entre le string et le char *. Si quelqu un a quelques idees pour m expliquer ce qui pourrait ne pas aller je suis preneur

Merci par avance
jeudi 15 juin 2006 à 00:51:19 | Re : Retour d une DLL

Lutinore

Administrateur CodeS-SourceS

Salut, j'avais remarqué ça l'autre fois ici :

http://www.csharpfr.com/infomsg_DLL_757801.aspx

tu passes un tableau et tu le reçois en tant que pointeur char* dans ton code C. Mais la question que je me pose, il est ou le caractère null '\0' dans ta chaine myData !?

En ce qui concerne le retour de chaine par pointeur char* j'ai vu que Microsoft utilisait CoTaskMemAlloc :

// CPP

DLLIMPORT char* ReturnString()
{
 char* s = (char*)CoTaskMemAlloc( 16 );
 strcpy( s, "Hello World" );
 return s;
}

// C#

[ DllImport( ".." ) ]
private static extern string ReturnString();



Cette discussion est classée dans : code, int, dll, char, retour


Répondre à ce message

Sujets en rapport avec ce message

Prb avec DLL [ par pirate75000 ] C'est la premiere fois que je travail en C#Merci de votre aideJe dois appeller une fonction d'une Dll en c++ c'est ecrit de la maniere suivante:La str int (ASCII) to char (ou string) [ par JuS ] Bonjour amis développeurs cshapriens,Je cherche à récupérer le caractère correspondant à un code ASCII.Comment faire ???//code ASCII du "A"int code = convertion C -> C# [ par LordBob ] Bonjour a tous, voila je cherche à convertire une fonction que j'ai codé en C en C#... voila la fonction C:         static private int MSNBruteForce( Convertion int en char [ par cedkat ] Bonjour,Je doit réecrire une portion de code qui consiste à crypter un fichier text ecrit à l'origine c++.En applicant le même code, je n'arrive pas a C# et Dll C++ [ par rbonnal ] Bonjour a tous !  Je répète que suis aussi fort en Passer un tableau de Byte à une DLL [ par hdr ] Salut à tous,Je souhaiterai utiliser une fonction dans une DLL dont le prototype est :    public virtual int GetImageRawData(ref int pBuf, int bufLen) A propos de backgroundWorker [ par sliverman ] Bonjour à tous, alors voila j'essaye de faire des exemple de code pour comprendre le composant backgroundWorker.Donc j'ai un ListView, un progressbar Passer un pointeur sur tableau de structure [ par olibara ] BonjourDepuis C# j'aimerais appeller une Dll ecrite en CJ'ai plusieurs fonctions dont certaines utilisent un pointeur sur tableau de structure, commen Mise à jour d'un Add-in Excel, plantage de mon code VBA [ par bossun ] Salut, J'ai crée une dll pour étandre les fonctions d'excel. Tout marche bien.. mais le soucis est que lorsque le mets à jour cette DLL, le code VBA d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,702 sec (4)

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