begin process at 2012 02 14 12:23:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

probleme avec 2 dll de langue differentes


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

probleme avec 2 dll de langue differentes

vendredi 24 octobre 2003 à 11:23:35 | probleme avec 2 dll de langue differentes

captaincav


bonjour :)

Je vais tenter d'expliquer mon soucis le plus clairement possible hihi

J'ai réalisé une application donc les libellées des boutons, textes, etc sont recupéré à partir d'un dll "Langue.dll"

Voila à quoi ressemble cette dll :

Public Function Lib(x As Integer) As String
Dim Libelle As String
Select Case x
Case 101
Libelle = "&Fichier"
Case 102
Libelle = "Rechercher"
Case 103
Libelle = "Supprimer"
Case Else
Libelle = ""
End Select

Lib = Libelle

End Function


J'utilise cette dll donc dans mon application principale (dans les references de mon projet, elle se trouve bien presente)

voila comment j'ai defini mon appel (Translate etant le .cls de mon projet de dll)

Public Language As New Translate


ensuite, dans mon projet d'application principal, je remplis mes differents libellé de la facon suivante :

Fichier.Caption = Language.Lib(101)
Rechercher.Caption = Language.Lib(102)
Annuler.Caption = Language.Lib(103)


Jusque la, rien à signaler, cela marche bien que ce soit en lancant l'appli via vb ou en creant l'exe de mon appli.

Cependant, si j'ai fait une dll de ce type pour la langue, c'est qu'une version anglaise est prévue. Je fais donc tout betement un copier/coller de mon projet dll, qui recoit le meme nom (mais dans un rep different bien sur).

Voila donc à quoi ressemble ma seconde dll langue

Public Function Lib(x As Integer) As String
Dim Libelle As String
Select Case x
Case 101
Libelle = "&File"
Case 102
Libelle = "Search"
Case 103
Libelle = "Cancel modifications"
Case Else
Libelle = ""
End Select

Lib = Libelle

End Function


Au niveau de mon appli principal, aucun changement n'est effectué.

Je remplace donc tout betement ma dll francais par ma dll anglaise. Quand je lance l'appli via vb, aucun pb, j'ai bien mes libellés en anglais.
Cependant, quand je crée l'exe de mon appli, j'ai l'erreure suivante qui s'affiche : "Erreur d'execution 430. La classe ne gere pas Automation ou l'interface attendue"

Donc en résumé : J'ai 2 dll, une francaise et une anglaise. J'utilise la dll francaise, tout va bien en execution via vb ou en creant l'exe de mon appli. Je met la dll anglaise en place et la, via vb pas de soucis, mais via l'exe cela genere une erreur

Pourriez vous m'eclairer et m'aider si possible, je suis vraiment dans une impasse et je trouve pas la solution :/

merci d'avance
mercredi 29 octobre 2003 à 09:29:08 | Re : probleme avec 2 dll de langue differentes

captaincav

je me permet de me repondre à moi meme

personne n'a le moindre debut de commencement d'idee de piste ?

merci :)
jeudi 30 octobre 2003 à 14:37:11 | Re : probleme avec 2 dll de langue differentes

captaincav

n'arrivant pas à faire ca avec deux dll, je me suis dit : "je vais le faire avec une dll, mais qui va contenir 2 fichiers cls"

j'ai donc un projet (langue.vbp) qui possede deux modules de classes

translate.cls que voici

Public Function Lib(x As Integer) As String
Dim Libelle As String
Select Case x
Case 101
Libelle = "&Fichier"
Case 102
Libelle = "Rechercher"
Case 103
Libelle = "Supprimer"
Case Else
Libelle = ""
End Select

Lib = Libelle

End Function


et translate2.cls que voici

Public Function Lib(x As Integer) As String
Dim Libelle As String
Select Case x
Case 101
Libelle = "&File"
Case 102
Libelle = "Search"
Case 103
Libelle = "Cancel modifications"
Case Else
Libelle = ""
End Select

Lib = Libelle

End Function


A partir de la, je n'ai plus qu'une seule dll.

Mon programme principal devient donc cela :


Public Language As New Translate
Public Language2 As New Translate2
Private Sub Form_Load()
Fichier.Caption = Language.Lib(101)
Rechercher.Caption = Language.Lib(102)
Annuler.Caption = Language.Lib(103)
End Sub


Cependant, grace à un fichier ini, j'aimerais que ma variable Language ne soit pas de type Translate, mais Translate2. Voila donc à quoi ressemblerait mon programme principal


Public Language As New Translate
Public Language2 As New Translate2
Private Sub Form_Load()

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(App.Path)
Set f = fs.OpenTextFile(App.Path & "\fichier.ini", 1, 0)
Ligne = f.readline
f.Close
If Ligne= "ANGLAIS" Then
'c'est la que j'aimerais changer Language de Type
'Language As New Translate2 ?
'Language = Language2 ?
'je ne sais vraiment pas comment faire :/
End If

Fichier.Caption = Language.Lib(101)
Rechercher.Caption = Language.Lib(102)
Annuler.Caption = Language.Lib(103)
End Sub


En résumé, j'aimerais que Language passe de type Translate à Translate2 seulement quand le cas ou j'ai "ANGLAIS" dans mon fichier ini (Language devant etre defini en Public dans mon formulaire pour etre utilisé par tous le formulaire)

Comment faire ? :/

En vous remerciant

ps : bien sur, si vous avez une solution pour le pb initial, je suis preneur aussi :)


Cette discussion est classée dans : code, dll, case, lib, libelle


Répondre à ce message

Sujets en rapport avec ce message

changement de type pour une variable (type perso) [ par captaincav ] Bonjour, je vais expliquer mon soucis le plus clairement possible :)mon objectif est d'avoir une dll qui gere la langue dans une application.j'ai donc appel de dll en code C [ par arb ] BonjourJe cherche à appeler depuis mon appli VBdes fonctions C compillées dans une dll (Dev c++ ou VC++); J'ai fait un essai mais j'ai toujours une er Editer une DLL [ par hatshepsout ] HatshepsoutBonjour,Je cherche un moyen d'éditer une DLL VB6 dont je n'ai pas le code !Elle contient le code pour établir la connexion sur un AS/400, e Help dll [ par lucres84 ] Lucres 84,Néophite en programmation, je me suis amusé à créer des fonctions pour accéder et effectuer des calculs dans une dll. Malheureusement il s'a dlportio.dll - Commant envoyer? [ par pcman5 ] En faite ce que j'ai pas compris, c'est avec quel base de nombre on envoit l'information.Si c'est en hexadécimal, comme je le pense, comman on fait po Probleme sur access [ par joel09 ] bonjour,je suis novice en access, j'ai voulu faire un formulair dans lequel j'ai incéré une liste deroulante de 2 colonne (code et libelle); or celle APPEL DE DLL SOUS EXCEL [ par directdata2 ] Bonjour,Je n'arrive pas à exécuter une DLL créée sous VC++ 6.0 à partir d'une ligne de code VBA d'une feuille Excel.Par contre l'appel de la fonction pb touches dblist [ par DarkLanfeust ] volia mon probleme;g une dblsit et je voudrais qu'il se passe des evenements quand on appui sur des touches dessusvoila mon code:Private Sub DBList1_K Form : [ par xaero ] Hello Voici le pb rencontré : - J'ai un formulaire qui affiche les données d'une table Clients. - Je veux rajouter un champ (case à cocher) qui comment déclarer les ocx et dll dans le code [ par eate ] g une application qui necessite qqs ocx et dll, lorsque j'exporte mon appli je suis obligé de ré-ajouter les controle active Xest il possible de décla


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 : 1,248 sec (4)

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