Option Explicit Dim letexte As String Public laform As Byte ' ' Par exp, en déclarant une variable public en en mettant dedans ' le n° de la forme, on sait à quelle form on se trouve. ' Sub Form_Load() ' form2 pour exemple Form1.laforme = 2 End Sub
Sub Form_Unload(Cancel As Integer) ' ferme la form2 pour exemple 'si retour form1 : Form1.laforme = 1 End Sub ' ' Là, tu n'utilises pas une fonction mais une procédure, donc: ' Sub appel_text_formulaire_x() ' affiche le texte et la forme Call formulaire MsgBox letexte & vbLf & Form1.laforme End Sub ' Sub formulaire() letexte = "texte de x" End Sub
-- Site ROMANS édités http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Site LOGICIELS http://irolog.free.fr Mail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------ "jerome" a écrit dans le message de news: OhbiQc%
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Mais je n'y arrive pas.
Merci
Option Explicit
Dim letexte As String
Public laform As Byte
'
' Par exp, en déclarant une variable public en en mettant dedans
' le n° de la forme, on sait à quelle form on se trouve.
'
Sub Form_Load() ' form2 pour exemple
Form1.laforme = 2
End Sub
Sub Form_Unload(Cancel As Integer) ' ferme la form2 pour exemple
'si retour form1 :
Form1.laforme = 1
End Sub
'
' Là, tu n'utilises pas une fonction mais une procédure, donc:
'
Sub appel_text_formulaire_x() ' affiche le texte et la forme
Call formulaire
MsgBox letexte & vbLf & Form1.laforme
End Sub
'
Sub formulaire()
letexte = "texte de x"
End Sub
--
Site ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site LOGICIELS
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"jerome" <jerome@hh.fr> a écrit dans le message de news:
OhbiQc%232GHA.4632@TK2MSFTNGP03.phx.gbl...
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en
sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form
... chercher monTexte correspondant à monNumero
end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite
l'utiliser comme tel.
Option Explicit Dim letexte As String Public laform As Byte ' ' Par exp, en déclarant une variable public en en mettant dedans ' le n° de la forme, on sait à quelle form on se trouve. ' Sub Form_Load() ' form2 pour exemple Form1.laforme = 2 End Sub
Sub Form_Unload(Cancel As Integer) ' ferme la form2 pour exemple 'si retour form1 : Form1.laforme = 1 End Sub ' ' Là, tu n'utilises pas une fonction mais une procédure, donc: ' Sub appel_text_formulaire_x() ' affiche le texte et la forme Call formulaire MsgBox letexte & vbLf & Form1.laforme End Sub ' Sub formulaire() letexte = "texte de x" End Sub
-- Site ROMANS édités http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Site LOGICIELS http://irolog.free.fr Mail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------ "jerome" a écrit dans le message de news: OhbiQc%
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Mais je n'y arrive pas.
Merci
Fred
Dans : news:OhbiQc% jerome écrit :
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:OhbiQc%232GHA.4632@TK2MSFTNGP03.phx.gbl
jerome écrit :
Bonjour j'essaie de récupérer un texte dans une fonction et de faire
en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form
... chercher monTexte correspondant à monNumero
end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir
ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ?
Si oui, Application.Forms est la collection de ces forms.
Sans fonction, tu peux donc récupérer un objet de type Form en écrivant
: Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la
suivante :
Function Formulaire(index) As Form
Select Case index
Case 1 : Set Formulaire = New FormNumero1
Case 2 : Set Formulaire = New FormNumero2
...
End Select
End Function
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Pierre
Bonjour,
Non en fait je récupère dans une base de données dans un curseur un champ qui est le nom d'un formulaire. ("Form1" par exemple) Et je voudrrais faire un Form1.show
C'est possible ça ? Merci
"Fred" wrote in message news:e40xN1%
Dans : news:OhbiQc% jerome écrit : > Bonjour j'essaie de récupérer un texte dans une fonction et de faire > en sorte que me soit retourné le nom du formulaire correspondant > > du style > > private sub formulaire(myForm as integer) as Form > ... chercher monTexte correspondant à monNumero > end sub > > et de récupérer cette valeur en tant que formulaire pour pouvoir > ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Bonjour,
Non en fait je récupère dans une base de données dans un curseur un champ
qui est le nom d'un formulaire. ("Form1" par exemple)
Et je voudrrais faire un Form1.show
C'est possible ça ?
Merci
"Fred" <foleide@libre.france> wrote in message
news:e40xN1%232GHA.3476@TK2MSFTNGP04.phx.gbl...
Dans : news:OhbiQc%232GHA.4632@TK2MSFTNGP03.phx.gbl
jerome écrit :
> Bonjour j'essaie de récupérer un texte dans une fonction et de faire
> en sorte que me soit retourné le nom du formulaire correspondant
>
> du style
>
> private sub formulaire(myForm as integer) as Form
> ... chercher monTexte correspondant à monNumero
> end sub
>
> et de récupérer cette valeur en tant que formulaire pour pouvoir
> ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ?
Si oui, Application.Forms est la collection de ces forms.
Sans fonction, tu peux donc récupérer un objet de type Form en écrivant
: Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la
suivante :
Function Formulaire(index) As Form
Select Case index
Case 1 : Set Formulaire = New FormNumero1
Case 2 : Set Formulaire = New FormNumero2
...
End Select
End Function
Non en fait je récupère dans une base de données dans un curseur un champ qui est le nom d'un formulaire. ("Form1" par exemple) Et je voudrrais faire un Form1.show
C'est possible ça ? Merci
"Fred" wrote in message news:e40xN1%
Dans : news:OhbiQc% jerome écrit : > Bonjour j'essaie de récupérer un texte dans une fonction et de faire > en sorte que me soit retourné le nom du formulaire correspondant > > du style > > private sub formulaire(myForm as integer) as Form > ... chercher monTexte correspondant à monNumero > end sub > > et de récupérer cette valeur en tant que formulaire pour pouvoir > ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Guy DETIENNE
Pour info, Application n'existe pas en VB contrairement au VBA Excel, Word...
Il faut directement utiliser la collection Forms.
Guy
"Fred" a écrit dans le message de news: e40xN1%
Dans : news:OhbiQc% jerome écrit :
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Pour info, Application n'existe pas en VB contrairement au VBA Excel,
Word...
Il faut directement utiliser la collection Forms.
Guy
"Fred" <foleide@libre.france> a écrit dans le message de news:
e40xN1%232GHA.3476@TK2MSFTNGP04.phx.gbl...
Dans : news:OhbiQc%232GHA.4632@TK2MSFTNGP03.phx.gbl
jerome écrit :
Bonjour j'essaie de récupérer un texte dans une fonction et de faire
en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form
... chercher monTexte correspondant à monNumero
end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir
ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ?
Si oui, Application.Forms est la collection de ces forms.
Sans fonction, tu peux donc récupérer un objet de type Form en écrivant :
Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la
suivante :
Function Formulaire(index) As Form
Select Case index
Case 1 : Set Formulaire = New FormNumero1
Case 2 : Set Formulaire = New FormNumero2
...
End Select
End Function
Pour info, Application n'existe pas en VB contrairement au VBA Excel, Word...
Il faut directement utiliser la collection Forms.
Guy
"Fred" a écrit dans le message de news: e40xN1%
Dans : news:OhbiQc% jerome écrit :
Bonjour j'essaie de récupérer un texte dans une fonction et de faire en sorte que me soit retourné le nom du formulaire correspondant
du style
private sub formulaire(myForm as integer) as Form ... chercher monTexte correspondant à monNumero end sub
et de récupérer cette valeur en tant que formulaire pour pouvoir ensuite l'utiliser comme tel.
Bonjour,
Les forms que tu souhaites indexer sont-elles chargées ? Si oui, Application.Forms est la collection de ces forms. Sans fonction, tu peux donc récupérer un objet de type Form en écrivant : Application.Forms(index)
Sinon, je ne vois pas, pour l'instant, d'autre façon de faire que la suivante :
Function Formulaire(index) As Form Select Case index Case 1 : Set Formulaire = New FormNumero1 Case 2 : Set Formulaire = New FormNumero2 ... End Select End Function
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Guy DETIENNE
Salut ;O)
Oui c'est possible !
Pour l'exemple, on créera 2 forms : Form1 et Form2
Form2 reste vide Sur Form1 : un bouton Command1 On colle ceci dans le code du formulaire:
Pour info, Application n'existe pas en VB contrairement au VBA Excel, Word...
Il faut directement utiliser la collection Forms.
Merci Guy, Je me mélange les pinceaux !
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Fred
dans : news:%, Pierre écrivait :
Bonjour,
Non en fait je récupère dans une base de données dans un curseur un champ qui est le nom d'un formulaire. ("Form1" par exemple) Et je voudrrais faire un Form1.show
C'est possible ça ?
Alors là tu me poses une colle. Je dirais non en vb6 mais je ne connais pas tout !
Peut-être un contournement possible via des ActiveX qu'on pourrait instancier avec un CreateObject mais je ne peux tester cela avant un moment pour te donner une méthode détaillée.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
dans : news:%23h7pHJA3GHA.1796@TK2MSFTNGP06.phx.gbl,
Pierre écrivait :
Bonjour,
Non en fait je récupère dans une base de données dans un curseur un
champ qui est le nom d'un formulaire. ("Form1" par exemple)
Et je voudrrais faire un Form1.show
C'est possible ça ?
Alors là tu me poses une colle.
Je dirais non en vb6 mais je ne connais pas tout !
Peut-être un contournement possible via des ActiveX qu'on pourrait
instancier avec un CreateObject mais je ne peux tester cela avant un
moment pour te donner une méthode détaillée.
Non en fait je récupère dans une base de données dans un curseur un champ qui est le nom d'un formulaire. ("Form1" par exemple) Et je voudrrais faire un Form1.show
C'est possible ça ?
Alors là tu me poses une colle. Je dirais non en vb6 mais je ne connais pas tout !
Peut-être un contournement possible via des ActiveX qu'on pourrait instancier avec un CreateObject mais je ne peux tester cela avant un moment pour te donner une méthode détaillée.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Fred
dans : news:, Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
dans : news:uwNHThA3GHA.1548@TK2MSFTNGP02.phx.gbl,
Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName)
MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire.
Dans ce cas tu crées une instance de Form vide (ou toujours d'une même
classe de Form).
J'avais plutôt compris qu'il souhaitait instancier une form parmi un
ensemble de forms bien définies, avec contrôles et code (?)
Si ce nombre et ces types de Forms sont bien connus on peut utiliser la
méthode que j'avais indiqué avec le Select Case (en remplaçant le test
sur un index entier par un test sur une chaîne de caractères). Sinon,
c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6,
autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et
les ActiveX.
Problème intéressant, mais qui mérite plus de précisions dans son exposé
:-)
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Guy DETIENNE
Salut ;O) Tu dis "Dans ce cas tu crées une instance de Form vide "
Pas du tout, j'instancie bien un Form existant. Place des objets sur ta form que tu appelleras via son nom et tu verras. Fais le test !
Guy
"Fred" a écrit dans le message de news: %
dans : news:, Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Salut ;O)
Tu dis
"Dans ce cas tu crées une instance de Form vide "
Pas du tout, j'instancie bien un Form existant. Place des objets sur ta
form que tu appelleras via son nom et tu verras.
Fais le test !
Guy
"Fred" <foleide@libre.france> a écrit dans le message de news:
%23HSPPEB3GHA.3812@TK2MSFTNGP06.phx.gbl...
dans : news:uwNHThA3GHA.1548@TK2MSFTNGP02.phx.gbl,
Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName)
MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire.
Dans ce cas tu crées une instance de Form vide (ou toujours d'une même
classe de Form).
J'avais plutôt compris qu'il souhaitait instancier une form parmi un
ensemble de forms bien définies, avec contrôles et code (?)
Si ce nombre et ces types de Forms sont bien connus on peut utiliser la
méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur
un index entier par un test sur une chaîne de caractères). Sinon, c'est de
la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement
qu'en reproduisant ce qu'on peut faire avec le CreateObject et les
ActiveX.
Problème intéressant, mais qui mérite plus de précisions dans son exposé
:-)
Salut ;O) Tu dis "Dans ce cas tu crées une instance de Form vide "
Pas du tout, j'instancie bien un Form existant. Place des objets sur ta form que tu appelleras via son nom et tu verras. Fais le test !
Guy
"Fred" a écrit dans le message de news: %
dans : news:, Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Guy DETIENNE
Re ;O)
Et pour info, lorsque tu fais un "Load Form1", tu ne fais qu'instancier une classe de ta Form. Tu es sensé pouvoir en instancier autant que tu le veux.
Faire Load Form1 ou
Dim MyForm As Form Set MyForm = Form1 MyForm.Show
Cela est identique, sauf que tu ne manipuleras pas ton objet via Form1 mais MyForm.
Guy
"Fred" a écrit dans le message de news: %
dans : news:, Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Re ;O)
Et pour info, lorsque tu fais un "Load Form1", tu ne fais qu'instancier une
classe de ta Form.
Tu es sensé pouvoir en instancier autant que tu le veux.
Faire Load Form1 ou
Dim MyForm As Form
Set MyForm = Form1
MyForm.Show
Cela est identique, sauf que tu ne manipuleras pas ton objet via Form1 mais
MyForm.
Guy
"Fred" <foleide@libre.france> a écrit dans le message de news:
%23HSPPEB3GHA.3812@TK2MSFTNGP06.phx.gbl...
dans : news:uwNHThA3GHA.1548@TK2MSFTNGP02.phx.gbl,
Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName)
MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire.
Dans ce cas tu crées une instance de Form vide (ou toujours d'une même
classe de Form).
J'avais plutôt compris qu'il souhaitait instancier une form parmi un
ensemble de forms bien définies, avec contrôles et code (?)
Si ce nombre et ces types de Forms sont bien connus on peut utiliser la
méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur
un index entier par un test sur une chaîne de caractères). Sinon, c'est de
la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement
qu'en reproduisant ce qu'on peut faire avec le CreateObject et les
ActiveX.
Problème intéressant, mais qui mérite plus de précisions dans son exposé
:-)
Et pour info, lorsque tu fais un "Load Form1", tu ne fais qu'instancier une classe de ta Form. Tu es sensé pouvoir en instancier autant que tu le veux.
Faire Load Form1 ou
Dim MyForm As Form Set MyForm = Form1 MyForm.Show
Cela est identique, sauf que tu ne manipuleras pas ton objet via Form1 mais MyForm.
Guy
"Fred" a écrit dans le message de news: %
dans : news:, Guy DETIENNE écrivait :
Salut ;O)
Hello,
Oui c'est possible !
Désolé, je n'avais pas vu ton post avant de répondre le contraire !
Public Sub LoadFormByName(ByVal strFormName As String)
Dim MyForm As Form
Set MyForm = Forms.Add(strFormName) MyForm.Show
End Sub
Je ne sais pas si c'est ce que Pierre voulait dire. Dans ce cas tu crées une instance de Form vide (ou toujours d'une même classe de Form). J'avais plutôt compris qu'il souhaitait instancier une form parmi un ensemble de forms bien définies, avec contrôles et code (?) Si ce nombre et ces types de Forms sont bien connus on peut utiliser la méthode que j'avais indiqué avec le Select Case (en remplaçant le test sur un index entier par un test sur une chaîne de caractères). Sinon, c'est de la réflexion (au sens dotnet) et je ne sais pas faire en vb6, autrement qu'en reproduisant ce qu'on peut faire avec le CreateObject et les ActiveX. Problème intéressant, mais qui mérite plus de précisions dans son exposé :-)