Class Evenement instancier [Résolu]

Messages postés
50
Date d'inscription
lundi 20 novembre 2000
Dernière intervention
23 janvier 2008
- - Dernière réponse : cs_carvals
Messages postés
50
Date d'inscription
lundi 20 novembre 2000
Dernière intervention
23 janvier 2008
- 22 janv. 2008 à 22:42
Bonjour,

Question surement debile mais bon....

J'ai un lecteur connecter a de l'usb.
Une dll en csharp pour discuter avec
Un prog Vb.NET
Dans ce prog J'ai une classe qui controle le lecteur via la dll et dans laquelle j'ai un background worker qui tourne en permance. Lorsque le lecteur detecte quelque chose il excute les functions de ma classe et me renvoi un evenement dans un winform(s)..

je voudrais instancier ma classe pour toute l'appli une seule fois au demarrage afin que elle et ses evenements soient accessibles partout.... help.

J'ai essaye de l'instancier par un module ce qui marche pas trop mal mais je ne recupere pas les evenements... et si je mes dans mes winforms   public withevents blabla as new MaClasse() j'obtiens un pb d'instanciation...

please help!

merci d'avance

carvals
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
50
Date d'inscription
lundi 20 novembre 2000
Dernière intervention
23 janvier 2008
3
Merci
Apres quelques recherches voici la technique pour n'avoir qu'une instance de classe pour toute une appli...

Private

Shared FInstance
As Singleton=
Nothing

Sub
New()

End
Sub

Public
Shared
Function Instance()
As Singleton

' initialize if not already done

If FInstance
Is
Nothing
ThenFInstance =

New Singleton()

End
If

' return the initialized instance of the Singleton Class

Return FInstance

End
Function
'Instanceet pour instancier cette classe

dim NewInstance as Singleton = Singleton.Instance()

Ca regarde si une instance a deja ete creer et ca la recupere......

A+

carvals

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_carvals
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut

en VB6 en tout cas on ne peut pas instancier une classe WITHEVENTS comme tu le fais :

public withevents blabla as <strike>new</strike> MaClasse<strike>()</strike>

et ensuite (dans le form_load très logiquement) tu instancies avec = new MaClasse
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
50
Date d'inscription
lundi 20 novembre 2000
Dernière intervention
23 janvier 2008
0
Merci
Salut,

Merci de ta reponse meme si elle ne m'a pas vraiment aidé.

Bon j'ai trouve la reponse.... en fait je fesais une instance de ma dll dans ma classe et donc avec le backgroundworker ma dll etait consomme et donc toute nouvelle instance de classe entrait en conflit. J'ai donc declare ma dll hors de ma classe dans un module initialiser au debut et c'est bon! J'ai juste a faire gaffe de ne pas lancer 2 fois le background worker!

merci pour ton aide!  A+

carvals
Commenter la réponse de cs_carvals

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.