Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un
message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
Je ne veux pas utiliser de solution du style:
Dans la class:
Public Function AddRec( Byval NumType As Integer) As Integer
Select NumType
Case 1
put #Handle,PosRec, FicCP
Case 2
etc etc ....
End Function
Par avance merci de vos précieux renseignements.
Marc
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un
message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
Je ne veux pas utiliser de solution du style:
Dans la class:
Public Function AddRec( Byval NumType As Integer) As Integer
Select NumType
Case 1
put #Handle,PosRec, FicCP
Case 2
etc etc ....
End Function
Par avance merci de vos précieux renseignements.
Marc
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un
message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
Je ne veux pas utiliser de solution du style:
Dans la class:
Public Function AddRec( Byval NumType As Integer) As Integer
Select NumType
Case 1
put #Handle,PosRec, FicCP
Case 2
etc etc ....
End Function
Par avance merci de vos précieux renseignements.
Marc
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans doute
mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette fonction,
j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un message
d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou passés
à des fonctions à liaison tardive
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans doute
mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette fonction,
j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un message
d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou passés
à des fonctions à liaison tardive
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans doute
mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette fonction,
j'ai compris qu'il fallait utiliser byref, mais j'ai toujours un message
d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou passés
à des fonctions à liaison tardive
Marc a écrit :Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Marc a écrit :
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Marc a écrit :Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Marc a écrit :Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Marc a écrit :
Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Marc a écrit :Bonjour à tous,
je reviens vers vous, pour une question que j'ai déjà posée mais sans
doute mal expliquée .
J'ai un module class dans lequel j'ai une fonction cette fonction sert à
écrire dans un fichier.
Ce module class me sert de librairie, en gros je veut pouvoir réutiliser
cette class dans d'autres programmes.
Je fabrique des types d'enregistrement et veux les passer a cette
fonction, j'ai compris qu'il fallait utiliser byref, mais j'ai toujours
un message d'erreur je n'arrive pas à interpréter le message.
Dans le module:
Type CP
CP As String * 5
Ville As String * 50
End Type
Public FicCp As CP
Dans la class:
Public Function AddRec( ByRef RecToto As Variant) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
Dans la form:
FicCp.CP="75000"
FicCP.Ville="Paris"
Rep=Class1.AddRec(FicCP)
Message d'erreur:
Erreur de compilation:
Seules les types définis par l'utilisateur et qui sont définis dans les
modules d'objets publics peuvent être convertis depuis un variant, ou
passés à des fonctions à liaison tardive
C'est interdit.
2 solutions possibles :
- convertir ton type en classe et la passer en paramètre de ta fonction
AddRec. Ca revient à définir une classe CP avec 2 propriétés en écriture
et à créer une instance de cette classe dans le form.
- passer un pointeur sur ton type en paramètre et retrouver les données à
partir du pointeur dans ta fonction.
La première solution est de loin à privilégier.
Après réflexion je me dis que dans un prog on peut faire plusieurs recordset
sur un même fichier, donc dans ce cas le pointeur serait peut être plus
adapté.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
Après réflexion je me dis que dans un prog on peut faire plusieurs recordset
sur un même fichier, donc dans ce cas le pointeur serait peut être plus
adapté.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
Après réflexion je me dis que dans un prog on peut faire plusieurs recordset
sur un même fichier, donc dans ce cas le pointeur serait peut être plus
adapté.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
Marc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Marc a écrit :
Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Marc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrantMarc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrant
Marc a écrit :
Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrantMarc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Salut Marc
voici ma solution
Dans ta class tu mets
Friend Function AddRec( ByRef RecToto As CP) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
je ne sais pas pourquoi mais les type définis par l'utilisateur ne peuvent
être pris en compte que si on fait précéder sub ou function par le mot
friend...
De plus mets carrément ton type CP (ByRef RecToto As CP) dans tes
paramètres.
Driss
"Marc" a écrit dans le message de news:Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrantMarc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Salut Marc
voici ma solution
Dans ta class tu mets
Friend Function AddRec( ByRef RecToto As CP) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
je ne sais pas pourquoi mais les type définis par l'utilisateur ne peuvent
être pris en compte que si on fait précéder sub ou function par le mot
friend...
De plus mets carrément ton type CP (ByRef RecToto As CP) dans tes
paramètres.
Driss
"Marc" <contact@asubstra.com> a écrit dans le message de news:
O2qtP39gKHA.2780@TK2MSFTNGP05.phx.gbl...
Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrant
Marc a écrit :
Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.
Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub
Salut Marc
voici ma solution
Dans ta class tu mets
Friend Function AddRec( ByRef RecToto As CP) As Integer
Put #Handle,PosRec, RecToto
etc etc ...
End Function
je ne sais pas pourquoi mais les type définis par l'utilisateur ne peuvent
être pris en compte que si on fait précéder sub ou function par le mot
friend...
De plus mets carrément ton type CP (ByRef RecToto As CP) dans tes
paramètres.
Driss
"Marc" a écrit dans le message de news:Ok,
je te remercie beaucoup je vais faire le test dèja pour comprendre ce que
tu a fais et te tiens au courrantMarc a écrit :Après réflexion je me dis que dans un prog on peut faire plusieurs
recordset sur un même fichier, donc dans ce cas le pointeur serait peut
être plus adapté.
Non.Je ne voudrais pas abuser, aurais tu 1 exemple concret pour les deux
classe c2 :
Private m_cp As String
Private m_ville As String
Public Property Let cp(newvalue As String)
m_cp = newvalue
End Property
Public Property Get cp() As String
cp = m_cp
End Property
Public Property Let Ville(newvalue As String)
m_ville = newvalue
End Property
Public Property Get Ville() As String
Ville = m_ville
End Property
classe c1 :
Private Type udtCp
cp As String * 5
Ville As String * 50
End Type
Public Function AddRec(c As c1) As Integer
Dim t As udtCp
With t
.cp = c.cp
.Ville = c.Ville
End With
Put #Handle, PosRec, t
End Function
form :
Private Sub Form_Load()
Dim c2 As New c2
Dim c1 As New c1
With c2
.cp = "75000"
.Ville = "Paris"
End With
c1.AddRec cp
End Sub