begin process at 2012 02 14 09:30:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Problème de type!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de type!

jeudi 14 février 2008 à 14:47:18 | Problème de type!

aurelien2723

Bonjour,

j'ai une erreur folle en VB6.

J'ai une collection de label   (appelé "carreau")

Je veux passer un des labels de ma collection à une fonction , qui prend donc un label en argument.

[code]


Private Sub BoutonRAZ_Click()
    changerCase (Carreau(5))
End Sub

Public Function changerCase(tmp As Label)
    If tmp.Caption = "X" Then
        tmp.Caption = ""
    Else: tmp.Caption = "X"
    End If
End Function

[/code]

A la compilation j'ai une erreur :
'erreur de type incompatible'  !!!


pourquoi donc? l'élement de ma collection est bien un label...
Carreau 5 existe bien


Merci de votre aide :)
jeudi 14 février 2008 à 15:12:41 | Re : Problème de type!

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour

Et si tu changes :
Public Function changerCase(tmp As Label)
par :
Public Function changerCase(Byval tmp As Label)

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
jeudi 14 février 2008 à 15:46:29 | Re : Problème de type!

aurelien2723

merci :)


Byval ou Byref, ca change rien ... :(

de plus je il me la faut par byRef parceque je la modifie.
jeudi 14 février 2008 à 16:06:34 | Re : Problème de type!

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour

ByRef ou ByVal, quelle différence :
ByRef passe le paramètre par référence, celui-ci peut être modifié par la fonction/procédure.
ByVal passe le paramètre par valeur, toute modification du paramètre dans la fonction/procédure ne modifie pas la valeur chez l'appelant.

Détail à ce sujet, un entier, string ou structure (Type) est envoyé directement, tandis qu'un objet (catégorie dont fait partie le Label) le paramètre est en fait une pointeur, donc passer un objet par référence ou valeur c'est presque la même chose, à l'exception près que par référence, on peut changer l'objet pointé (d'un Label à un autre Label par exemple) et qu ce soit modifier chez l'appelant.

Donc, pour changer le Caption, que ce soit par référence ou par valeur, cela ne change strictement rien.

Voilà déjà pour commencer.

Ensuite :
De quel type est Carreau() (si c'est des contrôles indexés, pas la peine de répondre à cette question)?
As-tu essayer en remplaçant "As Label" par "As Control" ou par "As Object" ?

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
vendredi 15 février 2008 à 17:29:43 | Re : Problème de type!

PCPT

Administrateur CodeS-SourceS
salut

salut,
c'est à cause de tes parenthèses pour une fonction qui n'en est pas une
(même erreur en déclarant As Object, normal)

correction :
Private Sub BoutonRAZ_Click()
    changerCase Carreau(5)
End Sub

Public Sub changerCase(tmp As Label)
    tmp.Caption = IIf(tmp.Caption = "X", vbNullString, "X")
End Sub


++
PCPT  [AFCK]

Prenez un instant pour répondre à ce sondage svp


Cette discussion est classée dans : label, erreur, type, collection, tmp


Répondre à ce message

Sujets en rapport avec ce message

type et collection [ par fedfil ] hello,Y a t'il moyen avec un type perso de l'utiliser avec une collection.Bref qd je fais :type toto val as integerend typedim col as collectionset c vba.collection [ par billy21121 ] Bonjour,je voudrais dans une application en vb.net 2005 utiliser un objet de type vba.collection mais dès que je fais un new dessus pour l'instancierà créer un controle du type "label" mais avec plus de propriétés [ par marco62118 ] bonjour je cherche à créer un controle du type "label" mais avec plus de propriétés je ne sais pas par quel bout le prendre collection key enum "type mismatch" ????????????? [ par ricomiracle ] Lorsque j'essaie de mettre des enum pour mes clé de collection, j'ai une erreur à l'éxecution "type mismatch". Or il serait très pratique de pouvoir u Format de Label [ par Nichlas ] Salut,j'ai réalisé un chronomètre qui va des centièmes aux heures. L'affichage se fait dans 4 labels.J'obtiens un affichage du type : 0 1 25 89 (0 heu Procedure stockée [ par sonia1 ] Je fais un programme qui permet de gérer les collections de fèves. L'interface est sous Visual Studio 2005 en vbnet et les données sous SQL SERVER 200 erreur étrange a propos des répertoires [ par alpha03 ] Salut tlm, j'ai un probleme très étrange: quand je veux supprimer un répertoire, j'utilise: FtpCommand hConn, False, 2, "rmd test001", 0, hTest En p probleme conversion de type [ par monsieurlemouche ] salut,je suis confronté à un ptit souci.Dans un controle grille lié à un controle data, je rentre des données numériques dont le format est réel. Quan Variable type Collection [ par XtremDuke ] Bonjour à tous, J'aimerai que quelqu'un m'explique, ou me donne l'adresse d'un tuto/explication, sur l'usage des variables de type "Collection". J'ai Rechercher développeur, idée à soumettre !!! [ par addyct ] Bonjour à tous, Je suis actuellement en début de formation de pilote professionnel et j'ai été surpris par l'absence de logiciel (qui ne sont pas en a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,560 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales