Erreur de référence

Signaler
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
-
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
-
Bonjour j'ai créer un projet classer bibliothèque avec VS.Net 2008 Express.
Je rajoute une AboutBox et dans la procédure principale de ma dll je met "AboutBox.ShowDialog()" Et ca me met comme erreur "Error    1    Reference to a non-shared member requires an object reference"

Alors je sais pas quoi faire, c'est la premiere fois que ca me le fait et uniquement dans une bibliotheque de classe.

Comment y remédier ?

Redman

14 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

Si tu  crée pas d'instance de ton AboutBox, c'est sur qu'il va pas vouloir.
Dim AbB as New AboutBox();






__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Oui mais d'habitude depuis 2005 on peut dirrectement faire AboutBox afficher la référence et non l'instance et pourquoi cette fois ca marche pas alors que je fait toujours la meme chose.

Redman
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Première fois que j'entends ça. Il à toujours fallu instancifier avant d'utiliser.
Si ca "marche" avec vb2005, c'est qu'il t'as instancifier ca dans un designer "MyProject" de son pleins gré.






__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007

Salut,  sois tu essai d'appeller ta procedure alors qu'elle est une méthode d'instance, dans ce cas tu créer une instance de ta classe, puis tu appel la procédure via cette instance : (ou alors tu déclare ta procédure en static)

dim instance as new NomDeTaClasse
instance.nomDeTaProcedurePrincipale()

sois dans ta procédure, ton 'aboutbox' n'est pas instancier :

Dim instance As New AboutBox1
instance.ShowDialog()

A quelle ligne l'erreure se rapport-elle ?

A plus.
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Vous n'avez toujours pas compris ? En VB.Net 2005 on est pas obliger de créer une instance mais on peut directement considérer la référence comme instance, et la c'est la premiere fois que ca marche pas
coment y remédier ?

Redman
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Hé bien tu fait comme le faisait le designer de vb2005 : Tu crée une classe static dans laquele tu instancifie ton AboutBox.







__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Vous avez toujours rien compris, tant pis.

Redman
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Et ta référence c'est bien AboutBox ? ça serait pas par hasard AboutBox1 ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Oui c'est bien AboutBox.

Redman
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Je confirme avoir entendu dire qu'en VB 2005 on n'était pas obliger d'instancier les formulaires, exactement comme en VB6 -j'ai lu cela sur une page de chez Microsoft, je sais plus ou exactement-! Par contre, je ne l'ai jamais testé perso. Mais bon, de toute façon, c'est à mon avis une très mauvaise idée que de procéder ainsi. Et si la fonctionnalité à été enlevé de VB 2008, cela ne me parait pas un mal !
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
La fonctionnalité n'a pas été enlevée en VB 2008 juste que qnad une bibliotheque cllasse ca marche pas alors que dans un projet Windows Forms ca marche.

Redman
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
OK ! De toute façon, je persiste à penser que c'et une mauvaise idée que de faire cela.
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
J'ai précédament expliqué le pourquoi du parsque. C'est le designer qui s'en charge.









__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Pour l'instant : personne n'a vraiment répondu.

Redman