begin process at 2010 02 09 16:32:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

Import de dll


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

Import de dll

vendredi 28 mars 2008 à 17:25:52 | Import de dll

LaPatte81

Bonjour,

Voila mon problème.
J'ai dévellopé une appli en F#, et je dévellope l'interface en C#.
Mon problème est le suivant, j'importe ma dll F# sans problèmes, et j'ai acces a mes fonctions et aux types que j'ai créés aussi.
Par contre impossible d'acceder aux variables ( publiques bien sur), elles sont reconnues et je n'ai pas de probleme pour compiler mon appli C#.
Par contre a l'exécution je tompe sur l'exception "System.TypeInitializationException".

Est-ce que quelqu'un a une idée pour résoudre ou contourner ce problème.

Merci.

LaPatte81.

samedi 29 mars 2008 à 14:15:40 | Re : Import de dll

coq

Administrateur CodeS-SourceS
Salut,

Heu là comme ça c'est vague.
Tu pourrais reproduire le problème dans un projet dont tu pourrais nous donner les sources ?


/*
coq
MVP Visual C#
CoqBlog
*/
samedi 29 mars 2008 à 16:14:37 | Re : Import de dll

LaPatte81

Bonjour,

Effectivement je viens de em relire sans mon code sous le nez, je comprends que ca puisse etre un peu obscur.
Jen'as pas les sources sous la main mais en gros je pourrai résumer le probleme de cette facon  :

Dans le F#

exemple.fs :

type couple_a =  (string , int )
let valeur_test = ("test",0)

exemple.fsi (signature) :

type couple_a = (string * int)
val valeur_test : couple_a

Je compile tout ca dans une dll  que j'ajoute en référence dans mon projet C#.
Et dans mon code C# je peux créer des nouveaux couple_a sans probleme, et je peux acceder a b. Mais a l'execution losrque j'accede a b je tombe sur mon erreur d'initialisation :

(exemple.couple_a) b = new (exemple.couple_a)();  -> ca ca marche
b = exemple.valeur_test;  -> ca compile mais ca plante systematiquement a l'execution.


J'epere avoir été plus clair. Si ce n'est pas le cas, je posterai une partie de mon code lundi.

En tout cas merci de se pencher sur le probleme.

++
LaPatte81.
dimanche 30 mars 2008 à 16:31:19 | Re : Import de dll

ecosmose

Salut,

le type couple_a possède un couplet d'attributs

Peut etre te faut il redéfinir l'opérateur d'affectation = car le programme ne fait quelles sont les opérations à effectuer lors de l'affectation..

As tu essayé ca :

couple_a =  (string , int )
let couple_a valeur_test = ("test",0) //déclaration que la variable valeur_test est de type couple_a

ou encore

(exemple.couple_a) b = new (exemple.couple_a)();  -> ca ca marche
b[0] = exemple.valeur_test[0]; 
b[1] = exemple.valeur_test[1]; 
ou alors
b.string = exemple.valeur_test.string; 
b.int = exemple.valeur_test.int; 

Enfin je ne connais F# donc ceci n'est peut etre pas une bonne remarque...

Bonne recherche
BINOME de ECOSMOSE
Association ecologique d'actions de culture et d'Informations
lundi 31 mars 2008 à 10:27:47 | Re : Import de dll

LaPatte81

Bonjour,

Oui,oui j'ai essayé ca. Mes types sont beaucoup plus compliqués que ce que j'ai mis en exemple, et je ne m'en sortirai pas si toutes les variables n'étaient pas typées ;).

C'est un peu plus compliqué puisque dans l'object browser, je retrouve tous les objects que j'ai mis dans ma dll. Et ils sont typés correctement.

Si j'importe ma dll dans un autre programme F#, tout marche comme prévu. C'est vraiment dans le passage au C# que ce trouve mon problème.

Par exemple dans cette fonction :

privatevoid comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

ComboBox cbo = sender asComboBox;
if (cbo == null)
   return;
ItemComboForm2 item = (ItemComboForm2)cbo.SelectedItem;
Node.Hash_tbl_node table_tmp = (Node.node_tlb);
double tmp = Fr_common.Get_float (((Node.Node_bhv) (table_tmp.Get_value(item.Libelle))).valeur1) ;
string s = "";
this.label6.Text = (string)TypeDescriptor.GetConverter(s).ConvertFrom(tmp);
}

Tout ca compile bien. Ma table de hachage possède les bons attributs soit {get}.
Mais je tombe sur ce problème d'initilisation.
Peut etre faut il que j'utilise ce get, mais je ne sais pas comment faire. J'ai essayer de l'incorporer à mon code F# mais ca ne change rien.

Dans tous les cas merci de tenter de m'aider.

++
LaP@tte.


lundi 31 mars 2008 à 16:41:34 | Re : Import de dll

LaPatte81

Bon j'ai peut etre une piste :

Les valeurs qui ne passent pas sont de type abstrait, est-ce que ca pourrait etre la source du problème ??

++
lundi 1 décembre 2008 à 09:15:05 | Re : Import de dll

Ayine



comment importer une DLL ecrite en C# dans une application C#


Cette discussion est classée dans : problème, appli, dll, import


Répondre à ce message

Sujets en rapport avec ce message

problème avec dll [ par pipicaca ] Bonjour!Voila je dois faire une application en C# utilisant des dll écrites en C. Les fonctions de ces dll ont en paramètres d'entrée/sortie des struc ?Gros problème avec dll [ par pipicaca ] Bonsoir,Voila je dois utiliser une dll écrite en C dans un programme écrit en C#. COmment faire??? Les fonctions contenues dans la dll et que je dois Problème avec les form - rendre les étapes de chargement visible [ par uais ] Petit préambule : Mon niveau : débutant (mais développeur sur d'autres plateformes) Mon souci : maintenir une appli c# (développé par une autre person Problème d'unload de plugin [ par revlis ] Bonjour a tous, J'ai fait une petite application composée de modules (plugin)Chaque dll presente dans un sous-repertoire représente un "module". celui problème ddl FDFACXLib [ par Gueubaille ] Bonjour,J'ai télécharger la source présente ici : http://www.csharpfr.com/code.aspx?ID=30716Mais j'ai un souci, quand je veux référencer la dll j'ai u Problème instanciation webservice [ par pma3d ] Bonjour, Je développe actuellement un service web en C# utilisant des DLL en C++ managé. Jusque là, pour les différents tests effectués, j'utilisais Utiliser une fonction d 'une DLL [ par demich_g ] Bonjour,J'ai besoin de votre savoir:J'aimerais utiliser une fonction d'une DLL. J'ai référencé la DLL (vbPCapLib.dll) dans mon projet et le problème s simulation de dll en C# [ par fdouieb ] Bonjour, Je vais essayer d'être le plus clair possible. Une application que je nomme APPLI "A" qui est pour moi une boite noire reçoit un flux d'info Problème appel DLL, effet de bord [ par kox007 ] Bonjour, Je travail sur un projet codé en C#. Celui ci fait appel à une fonction d'une DLL en C++. En entête du fichier j'éffectue bien la commande su [C# et Windows] ne font pas bon ménage ??? [ par nerix27 ] Bonjour, voilà un p'tit souci que je vous soumet : J'ai développé une appli C# (une mini GED en quelque sorte) qui est sensée être ouverte sur tous l


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,281 sec (4)

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