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
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
Marc
Dans la doc de VB5 en page 365 il y a une note qui dit: Si vous voulez transférer un type personnalisé vers un module de feuille ou de classe, la procédure doit être privée.
J'ai beau faire pleins de tests , j'ai toujours le même message.
Personne n'a d'idée ?
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
Dans la doc de VB5 en page 365 il y a une note qui dit: Si vous voulez
transférer un type personnalisé vers un module de feuille ou de classe, la
procédure doit être privée.
J'ai beau faire pleins de tests , j'ai toujours le même message.
Personne n'a d'idée ?
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
Dans la doc de VB5 en page 365 il y a une note qui dit: Si vous voulez transférer un type personnalisé vers un module de feuille ou de classe, la procédure doit être privée.
J'ai beau faire pleins de tests , j'ai toujours le même message.
Personne n'a d'idée ?
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
parci
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.
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
Merci pour ta réponse.
as tu un petit exemple pour la première manip car là je nage un peu.
En revanche le pointeur pourrait faire l'affaire - www.gelase.org "parci" a écrit dans le message de news: 4b32097b$0$30352$
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.
Merci pour ta réponse.
as tu un petit exemple pour la première manip car là je nage un peu.
En revanche le pointeur pourrait faire l'affaire
contact@gelase.org - www.gelase.org
"parci" <parci@free.fr> a écrit dans le message de news:
4b32097b$0$30352$426a74cc@news.free.fr...
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.
as tu un petit exemple pour la première manip car là je nage un peu.
En revanche le pointeur pourrait faire l'affaire - www.gelase.org "parci" a écrit dans le message de news: 4b32097b$0$30352$
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
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
- www.gelase.org "parci" a écrit dans le message de news: 4b32097b$0$30352$
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
contact@gelase.org - www.gelase.org
"parci" <parci@free.fr> a écrit dans le message de news:
4b32097b$0$30352$426a74cc@news.free.fr...
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.
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
- www.gelase.org "parci" a écrit dans le message de news: 4b32097b$0$30352$
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.
parci
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
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
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 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
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
Driss HANIB
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 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" <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
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 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
Marc
Merci driss,
Je test aussi et vous dis ce que cela donne.
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 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
Merci driss,
Je test aussi et vous dis ce que cela donne.
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
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 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