begin process at 2010 02 10 04:32:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Maths

 > 

dll vc++


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

dll vc++

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ée 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...

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

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