Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : dll vc++ [ Algorithme / Maths ] (amel227)

vendredi 30 mai 2008 à 15:23:06 | dll vc++

amel227



Bonjour à tous

j'ai une dll en vc++,quand j'utilise l'une de ses fonctions en c# une exception se lance à la compilation à cause de la non comptabilité entre les types de variables en vc++ et c#.
Ma fonction retourne un tableau de double,je sais pas à qoi correspond un tableau de double en c#.
Si vous avez un idée, s'il vous plait m'aider.

Merci

bonne journée

vendredi 30 mai 2008 à 15:51:50 | Re : dll vc++

Liverion

Pour avoir un tableau de Double tu peux passer par une List<Double> qui est une collection generique ( il faut donc ajouter using System.Collections.Generic; )


Les trois lois de Codes-Sources :
1) Tu lis et respecte le reglement
2) Tu pense a valider si une reponse apportée a ton probleme t'a aidé
3) Si tu ne respecte pas les 2 premières .......................... TU SORS !!!!!!


vendredi 30 mai 2008 à 16:28:01 | Re : dll vc++

amel227



Salut

merci beaucoup,ça marche.

Bonne journée

vendredi 30 mai 2008 à 16:28:56 | Re : dll vc++

Liverion

Réponse acceptée !
Pas de souci ^^
Pense a la regle 2 :p


Les trois lois de Codes-Sources :
1) Tu lis et respecte le reglement
2) Tu pense a valider si une reponse apportée a ton probleme t'a aidé
3) Si tu ne respecte pas les 2 premières .......................... TU SORS !!!!!!


vendredi 30 mai 2008 à 16:36:43 | Re : dll vc++

amel227


A l'exécution j'ai ce genre d'exceptio:MarshalDirectiveException was unhandled
"Cannot marshal 'return value': Generic types cannot be marshaled."
ceci dans la ligne de commande quand j'appelle la fonction de ma dll vc++

Vous avez une idée sur ce genre d'exception?

vendredi 30 mai 2008 à 19:30:02 | Re : dll vc++

Lutinore

Administrateur CodeS-SourceS
Salut, tu utilises l'attribut DllImport pour appeller une fonction de ta dll, c'est bien ça  ? Dans ce cas c'est impossible de marshaller le tableau dans une liste générique, le tableau renvoyé est un pointeur, il faut utiliser le type C# IntPtr puis utiliser Marshal.Copy ou le code unsafe pour récupéré les valeurs du tableau. Il faut aussi détruire le tableau une fois que tu as terminé.

dimanche 1 juin 2008 à 10:15:52 | Re : dll vc++

amel227


Bonjour

      Merci pour votre réponse, je demande si vous pouvez m'expliquer plus comment faire.
      J'ai le code suivant :

        [DllImport("CalDes.dll")]
        public static extern double* calculHist(string path);
       
          IntPtr ptr = calculHist(path);
          double* hist = (double*)ptr;

          Mais j'ai ce genre d'erreur: "Pointers and fixed size buffers may only be used in an unsafe context"
          C'est quoi le problème?

  Bonne journée


mardi 3 juin 2008 à 10:16:12 | Re : dll vc++

amel227



Bonjour à tous

S'i vous plaît, je cherche encore une solution pour le problème mentionné juste au dessus de ce message.
Prière de m'aider.

Bonne journée

Mes remerciements

samedi 7 juin 2008 à 13:33:37 | Re : dll vc++

Lutinore

Administrateur CodeS-SourceS
dsl j'avais pas vu ta question.

Pour utiliser les pointeurs il faut 2 choses :

- 1 ) définir un bloc unsafe

unsafe
{
   // ...
}

ou marquer la fonction avec le mot clé unsafe.

private unsafe void DoSomething( ) { .. }

2 ) Dans les paramètres du projet cocher la case "Autoriser le code unsafe" ou l'option -unsafe pour le compilo en ligne de commande.

lundi 9 juin 2008 à 10:30:52 | Re : dll vc++

amel227



Bonjour

J'ai mis en place le code correspondant pour l'appel de dll, tout ça marche sauf en exécution j'ai cette exception:

DllNotFoundException was unhandled
Unable to load DLL 'SiftGPU.dll': Le module spécifié est introuvable. (Exception from HRESULT: 0x8007007E)

même si j'ai mis cette dll dans le dossier de mon projet, j'ai cette exception.


Prière de m'aider le plus vite que possible.

Merci infinement


1 2

Cette discussion est classé dans : dll, tableau, vc, double


Répondre à ce message

Sujets en rapport avec ce message

WebService et Gestion mémoire [ par pma3d ] Bonjour à tous, Je développe actuellement un service web manipulant des tableaux, et je rencontre des problèmes apparemment liés à la gestion de la m pointent vers le même objet mais la modification de l'un n'entraine pas la modification de l'autre... [ par mathmax ] Dans un tutorial, j'ai le programme suivant : void Main(</F Tableaux et C++ managé :( [ par pma3d ] Bonjour à tous,   Comme le dit l'intitulé du post, j'ai des problèmes concernant la gestion des tableaux en c++ managé. Je ne sais pas si c'est le bo Recuper dans un tableau de double les données d'une base de données [ par beji62 ] Voila je vous expose mon probleme :-je suis débutant en ASP.NETJe developpe en C# sous visual studio 2005-J'ai une base de donnée SQL-SERVER-je souhai communication C++ / C# par socket [ par greenzephyr ] Bonjour à tous, chui un petit nouveau ici. Je ne sais pas si ma question est sur le bon forum (ici ou forum socket). Bref j'ai besoin d'aide.Je fais u Simple Problème de CAST [ par ckoicedelire ] Bonjour,j'ai un soucis tout bête mais qui me pose de gros soucis. J'utilise un objet UDPClient qui permet entre autre d'envoyé des datagrammes en UDP. parametres optionels d'une fonction [ par jul974 ] Bonjour,J'utilise une dll dans une page ASP.Lorsque j'appel une des fonctions de ma dll ,par exempleVersion(), tout va bien ,elle m'affiche bien la ve Sauvegarde d'un tableau de "double" [ par hred1 ] Bonjour, Je cherche à sauvegarder un tableau de valeurs "double", le tableau est sous forme d'une matrice carrée (500,500).En effet c'est un tableau é 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 importer un tableau excel [ par manuweb_21 ] J'ai un fichier qui s'appelle: "conversiontable.txt" qui contient un tableau exporté de excel (:-> séparations = tabulations) il a cette forme: Argon


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.