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 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 |
Mon programme principal ressemble à 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 declaration generale dans mon formulaire pour etre utilisé par tous le formulaire)
Comment faire ? :/
En vous remerciant et en esperant avoir été clair