[VB.NET]Private - Public

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 6 févr. 2006 à 21:44
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 6 févr. 2006 à 22:12
Bonjour,

je cherche a me faire une petite class socket afin d'encore simplifier quelques trucs et je souhaite faire ceci pour l'ecoute en tant que client.

Public Shared Function SockStartListen() As Int32

Dim SocketThread As New Thread(AddressOf Listening)
SocketThread.Name = "SocketThread"
SocketThread.Start()

End Function

---------------------------------------------------

Private Sub Listening()
le contenu de ce qui servira dans la lecture

End Sub

le probleme c'est que je ne comprend pas tout avec ces histoires en VB.NET de Public et Private, car je ne veux pas que l'utilisateur puisse mettre si il inclus la dll que je fass un Listening() mais un SockStartListen, sauf que je veux que quand on fasse SockStartListen() on est quand meme le thread qui se lance sur cette sub la :\ mais si je la met en Private le thread ne la lance pas, meme d'ailleur la compilation me renvoi:

Error 1 Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class. C:\Documents and Settings\Administrator\Desktop\IrcClient\IrcClient\SocketConnect.vb 37

et si je met Private Shared Sub Listening() a la place de Private Sub Listening ca me met en erreur

Error 1 Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class. C:\Documents and Settings\Administrator\Desktop\IrcClient\IrcClient\SocketConnect.vb 37

Pour resumer je veux juste que mon thread s'occupe de la methode listening mais que personne d'autre ne puisse l'utiliser...

1 réponse

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
6 févr. 2006 à 22:12
Ah non en fait désolé j'ai réussi a trouvé seul, mais il me reste quand meme un probleme, je fais ca dans ma fonction d'écoute de socket, et de fin d'écoute

Public Shared Function SockStartListen() As Int32

Dim SocketThread As Thread
SocketThread = New Thread(AddressOf Listening)
SocketThread.Name = "ListenSocketThread"
SocketThread.Start()

End Function

Public Shared Function SockStopListen() As Boolean

End Function

Sauf que dans SockStopListen() je veux mettre SocketThread.Abort() afin par exemple que l'utilisateur fasse un connect puis un listen et que au moment ou son utilisateur clique sur un bouton par exemple sa lance SockStopListen,

par exemple la personne fait dans son code un truc du genre, mon probleme est que dans mon SockStopListen, je n'arrive pas a mettre SocketThread.Abord car il est déclaré dans la Function SockStartListen, comment puis je faire un SocketThread.Abort() alors, ou dois je déclarer mon New Thread afin que je puisse l'utiliser a la fois a ma fonction de listening et de stop, pour que l'utilisateur puisse en fait faire ceci...:

[...]
Private Sub DeConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

SockStopListen()

End Sub
0
Rejoignez-nous