Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les
form de mon projet. Le probleme est que je ne sais pas comment référé à mes
form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Documents and Settings\jeanca.DSD-LAN\Desktop\Signs
PRO\Signs PRO\signspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " &
tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel
Peut-etre en utilisant le Form.parent ou quelque chose du genre, si tu applique cela à plusieurs Form il y aussi la Form collection qui doit te permettre de toutes les parcourir, sinon passe ta/tes Form en parametres
function XXXX( object as Form)...
Je dis cela un peu vite sans verifier...
Jean Christophe Avard a écrit :
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les form de mon projet. Le probleme est que je ne sais pas comment référé à mes form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " & tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
J'ai un erreur qui di que ma référence nest pas une instance dun objet, et lorsque je déclare les form comme ca:
Public main As frmMDI = new frmMDI Public about As frmAbout = new frmAbout
et bien rien ne se passe... QQN PEUT MAIDER!?
Peut-etre en utilisant le Form.parent ou quelque chose du genre,
si tu applique cela à plusieurs Form il y aussi la Form collection
qui doit te permettre de toutes les parcourir,
sinon passe ta/tes Form en parametres
function XXXX( object as Form)...
Je dis cela un peu vite sans verifier...
Jean Christophe Avard a écrit :
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les
form de mon projet. Le probleme est que je ne sais pas comment référé à mes
form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns
PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " &
tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
Peut-etre en utilisant le Form.parent ou quelque chose du genre, si tu applique cela à plusieurs Form il y aussi la Form collection qui doit te permettre de toutes les parcourir, sinon passe ta/tes Form en parametres
function XXXX( object as Form)...
Je dis cela un peu vite sans verifier...
Jean Christophe Avard a écrit :
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les form de mon projet. Le probleme est que je ne sais pas comment référé à mes form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " & tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
J'ai un erreur qui di que ma référence nest pas une instance dun objet, et lorsque je déclare les form comme ca:
Public main As frmMDI = new frmMDI Public about As frmAbout = new frmAbout
et bien rien ne se passe... QQN PEUT MAIDER!?
Christian Hubert-Hugoud
Salut,
Public main As frmMDI
main est un pointeur sur un objet de type frmMDI. Mais le pointeur vaut 0 et n'adresse rien tant que tu n'as pas indiqué ce qu'il doit adresser.
Donc, à un moment donné :
set main = frmMDI
si tant est que frmMDI soit chargé sans quoi, ???? je pense que frmMDI est chargé (à vérifier)
Mais, ceci est dangereux car du coup, tu as un pointeur qui référence un objet. Tant que ce pointeur n'est pas remis à 0 (set main = nothing), il devient théoriquement impossible d'arrêter l'application (voir tous les pb traités à ce sujet dans la faq), car cette feuille ne peut théoriquement plus se décharger. Ceci doit donc être manipulé avec précaution.
Passer la feuille en paramètre d'une fonction me semble mieux ; c'est ce que je fais. Dans le load (dans l'activate etc...) je place un appel de fonction FormLoad Me, dont le prototype est :
Sub FormLoad (f as form) ... end sub
Moyennant quoi, je ne référence jamais une feuille deux fois.
Enfin, remarque : le nom main est aussi le nom de la fonction de démarrage standard d'une appli. Un autre nom plus explicite serait bienvenu, selon moi.
Christian
"Jean Christophe Avard" a écrit dans le message de news: %
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les form de mon projet. Le probleme est que je ne sais pas comment référé à mes form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " & tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
J'ai un erreur qui di que ma référence nest pas une instance dun objet, et lorsque je déclare les form comme ca:
Public main As frmMDI = new frmMDI Public about As frmAbout = new frmAbout
et bien rien ne se passe... QQN PEUT MAIDER!?
Salut,
Public main As frmMDI
main est un pointeur sur un objet de type frmMDI. Mais le pointeur vaut 0 et
n'adresse rien tant que tu n'as pas indiqué ce qu'il doit adresser.
Donc, à un moment donné :
set main = frmMDI
si tant est que frmMDI soit chargé sans quoi, ???? je pense que frmMDI est
chargé (à vérifier)
Mais, ceci est dangereux car du coup, tu as un pointeur qui référence un
objet. Tant que ce pointeur n'est pas remis à 0 (set main = nothing), il
devient théoriquement impossible d'arrêter l'application (voir tous les pb
traités à ce sujet dans la faq), car cette feuille ne peut théoriquement
plus se décharger. Ceci doit donc être manipulé avec précaution.
Passer la feuille en paramètre d'une fonction me semble mieux ; c'est ce que
je fais. Dans le load (dans l'activate etc...) je place un appel de fonction
FormLoad Me, dont le prototype est :
Sub FormLoad (f as form)
...
end sub
Moyennant quoi, je ne référence jamais une feuille deux fois.
Enfin, remarque : le nom main est aussi le nom de la fonction de démarrage
standard d'une appli. Un autre nom plus explicite serait bienvenu, selon
moi.
Christian
"Jean Christophe Avard" <NO_SP@M.BITCH> a écrit dans le message de news:
%23fXCBdrkFHA.2644@TK2MSFTNGP09.phx.gbl...
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout
les form de mon projet. Le probleme est que je ne sais pas comment référé
à mes form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns
PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " &
tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows
main est un pointeur sur un objet de type frmMDI. Mais le pointeur vaut 0 et n'adresse rien tant que tu n'as pas indiqué ce qu'il doit adresser.
Donc, à un moment donné :
set main = frmMDI
si tant est que frmMDI soit chargé sans quoi, ???? je pense que frmMDI est chargé (à vérifier)
Mais, ceci est dangereux car du coup, tu as un pointeur qui référence un objet. Tant que ce pointeur n'est pas remis à 0 (set main = nothing), il devient théoriquement impossible d'arrêter l'application (voir tous les pb traités à ce sujet dans la faq), car cette feuille ne peut théoriquement plus se décharger. Ceci doit donc être manipulé avec précaution.
Passer la feuille en paramètre d'une fonction me semble mieux ; c'est ce que je fais. Dans le load (dans l'activate etc...) je place un appel de fonction FormLoad Me, dont le prototype est :
Sub FormLoad (f as form) ... end sub
Moyennant quoi, je ne référence jamais une feuille deux fois.
Enfin, remarque : le nom main est aussi le nom de la fonction de démarrage standard d'une appli. Un autre nom plus explicite serait bienvenu, selon moi.
Christian
"Jean Christophe Avard" a écrit dans le message de news: %
Bonjour, je me suis fait une fucntion qui change tout le texte sur tout les form de mon projet. Le probleme est que je ne sais pas comment référé à mes form dans la function. voici mon code:
Module _mod
Public lang As String = "FRENCH"
Public main As frmMDI
Public about As frmAbout
Function loadLanguageString()
' create a connection string
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Documents and Settingsjeanca.DSD-LANDesktopSigns PROSigns PROsignspro.mdb"
Dim conn As OleDbConnection = New OleDbConnection
' connection string
conn.ConnectionString = strConn
' define wich string table to load
Dim tblString As String
If lang = "FRENCH" Then
tblString = "tbl_french_string"
ElseIf lang = "ENGLISH" Then
tblString = "tbl_english_string"
End If
' create a data adapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * from " & tblString, conn)
' create a new dataset
Dim ds As DataSet = New DataSet
' fill dataset
da.Fill(ds, "string")
' copy the datatable into a hastable
Dim tbl As Hashtable = New Hashtable
Dim i As Integer = 0
For Each str As Data.DataRow In ds.Tables("string").Rows