begin process at 2012 02 08 06:17:37
  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

Import d'une dll [ par orzhov54 ] Bonjour alors je sais pas si je suis au bonne endroit, mais je laisse les admin déplacer mon sujet si il savent ou il sera mieux. voila j'ai un gros Problème de FileLoadException en chargeant un assembly [ par Hermios ] Salut à tous, Je développe sous Visual C# 2010 express, et mon projet consiste entre autre à créer un exécutable pour charger un fichier dll, via Asse Problème pour charger une assembly externe, sans copie locale [ par Hermios ] Salut à tous, J'ai crée une dll avec une config, et souhaiterait l'importer dans un nouveau projet. J'ai donc ajouté une référence à cette dll dans mo [C#] linker DLL .net à son appli [ par scoubidou944 ] J'avais vu une fois une appli qui linkait à son appli uniquement les DLL .NET nécessaires comme ca ca permettait de ne pas avoir .NET à déployer sur l [C#] problème d'inclusion d'une dll [ par Yakurena ] Bonjour, J'aimerais savoir s'il est possible, lors du déploiement sur le PDA émulé par Visual Studio, d'ajouter une dll pour qu'il reconnaisse l'objet Problème avec le sdk WinMediaPlayer [ par nimp0001 ] Bonjour,J'ai un léger problème sous Visual Studio avec le SDK Win Media Player.La situation est la suivante :J'ai bien installé mon SDK (dans sa versi Problème utilisation dll en C# [ par madkeyboard ] Bonjour à tous ! Je suis étudiant actuellement en stage, et je doit établir une communication avec une commande numérique grâce à des dll fournies pa Appelle d'une Dll à partir d'un autre projet [ par grandihamza ] Bonjour, J'ai un petit problème avec mon application. J'essaye de créer une bibliothèque en c# puis d'utiliser ses méthodes dans un autre projet, mai Génération de dlls / organisation [ par floc95 ] Bonjour, Je suis confronté à un petit problème que je n'arrive pas à résoudre : J'ai une application qui a en référence une dll de contrôle utilisat 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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