Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1111 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Probleme appeller procedure...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme appeller procedure...

n°1033111
fdiedler
http://www.tutoworld.com
Posté le 02-04-2005 à 14:34:02  profilanswer
 

Bonjour, j'ai 2 forms. Dans la cadre s'un tchat, j'etablie une connection avec la form1. Si je veut envoyer des données a pertir d'un RichTextBox de cette form en apellant ma procedure d'envoie de données y'a pas de pb... mais si je veut faire la mm manipulation sur l'autre form et bah ca marche plus...
 

Code :
  1. Public Sub Send(ByVal Data As [String])
  2.         buffer = Encoding.UTF8.GetBytes(Data)
  3.         sckclient.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, AddressOf SendCallback, sckserver)
  4.     End Sub


Quand ca marche sckserver ne vaut pas nothing, par contre dans le 2eme cas il vaut "nothing"
 
En gros je suis obliger d'appeller ma procedure a partir de la form1 pour que ca marche masi moi je voudrais l'appeller avec la form2 ....
 
Je comprends pas ...
 
merci


Message édité par fdiedler le 02-04-2005 à 14:35:14
mood
Publicité
Posté le 02-04-2005 à 14:34:02  profilanswer
 

n°1033144
Taz
bisounours-codeur
Posté le 02-04-2005 à 16:07:26  profilanswer
 

c'est pas du C#

n°1033202
fdiedler
http://www.tutoworld.com
Posté le 02-04-2005 à 18:37:07  profilanswer
 

c'est du VB.NET et alors ?

n°1035803
FlorentG
Unité de Masse
Posté le 05-04-2005 à 14:38:48  profilanswer
 

Taz a écrit :

c'est pas du C#


C'est du VB.NET, donc ça entre dans la cat .NET Managed ;)

n°1036402
sielfried
Posté le 05-04-2005 à 20:30:35  profilanswer
 

fdiedler a écrit :

Bonjour, j'ai 2 forms. Dans la cadre s'un tchat, j'etablie une connection avec la form1. Si je veut envoyer des données a pertir d'un RichTextBox de cette form en apellant ma procedure d'envoie de données y'a pas de pb... mais si je veut faire la mm manipulation sur l'autre form et bah ca marche plus...
 

Code :
  1. Public Sub Send(ByVal Data As [String])
  2.         buffer = Encoding.UTF8.GetBytes(Data)
  3.         sckclient.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, AddressOf SendCallback, sckserver)
  4.     End Sub


Quand ca marche sckserver ne vaut pas nothing, par contre dans le 2eme cas il vaut "nothing"
 
En gros je suis obliger d'appeller ma procedure a partir de la form1 pour que ca marche masi moi je voudrais l'appeller avec la form2 ....
 
Je comprends pas ...
 
merci


 
sckclient vaut nothing tu veux dire ?
 
Je ne fais pas de VB.NET mais il me semble que le problème est classique : tu tentes d'accéder à partir de la form2 à sckclient qui est défini private dans la form1, ce que tu n'as évidemment pas le droit de faire.
 
Tu as donc deux solutions :
- changer la déclaration de sckclient dans le source de la form1 et la passer en public, ou mieux, un truc équivalent à internal en C# (doit y avoir une propriété pour modifier l'accès, je sais pas si VB.NET montre le code généré automatiquement) ;
- écrire une procédure publique dans la form1 qui va se charger de faire le boulot.
 
A mon avis la deuxième solution est bien meilleure/propre. La form contient l'objet, il n'y a donc qu'elle qui devrait pouvoir le manipuler de façon directe.


Message édité par sielfried le 05-04-2005 à 20:31:00

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1036480
FlorentG
Unité de Masse
Posté le 05-04-2005 à 21:57:37  profilanswer
 

internal en çaidiaise = Friend en VaiBai
 
Sinon on considère qu'il ne faut effectivement jamais de variables membres directement publique. Par contre pour les internal, pas de probs, vu que c'est notre propre Assembly, et qu'on considère qu'on est seul maître à bord et que l'on sait ce que l'on fait :)


Message édité par FlorentG le 05-04-2005 à 21:57:48
n°1036773
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 09:13:28  profilanswer
 

Merci a tous pour vos aides...
Je ne connais pas l'Internal mais j'ai declarer en Pubic dans un module et ca marche ( Public dans la class ne marchais pas non plus )
A++

n°1036858
FlorentG
Unité de Masse
Posté le 06-04-2005 à 10:26:14  profilanswer
 

Oula :heink: Un peu dangereux de déclarer des variables Publiques ;)

n°1037042
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 11:52:48  profilanswer
 

pourquoi ??
Sinon tu peux m'expliquer comment faire autrement ?
Merci

n°1037045
FlorentG
Unité de Masse
Posté le 06-04-2005 à 11:54:26  profilanswer
 

Faut la mettre en privée, et utiliser une propriété publique readonly

mood
Publicité
Posté le 06-04-2005 à 11:54:26  profilanswer
 

n°1037069
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 12:03:35  profilanswer
 

Et je met la propriété en privé dans ma class ou dans mon module ? et pour la propriété ReadOnly ?

n°1037070
FlorentG
Unité de Masse
Posté le 06-04-2005 à 12:04:22  profilanswer
 

Non, la variable en privée, et la propriété en public readonly

n°1037083
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 12:08:30  profilanswer
 

ok merci je vais voir ca.

n°1037119
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 12:28:55  profilanswer
 

ok


Message édité par fdiedler le 06-04-2005 à 12:29:53
n°1037127
FlorentG
Unité de Masse
Posté le 06-04-2005 à 12:32:20  profilanswer
 

Dim bufferFichier(bytesRead) As Byte
 Call envoie.tested(bufferFichier)


Donc selon ces deux lignes que t'as mis, tu créer un tableau de Byte vide, qu'ensuite tu balances à la fonction tested :D Faudrait penser à remplir le tableau, hein ;)

n°1037128
FlorentG
Unité de Masse
Posté le 06-04-2005 à 12:32:36  profilanswer
 

Gné ? C'est quoi la fluctuation ?

n°1037243
fdiedler
http://www.tutoworld.com
Posté le 06-04-2005 à 13:58:59  profilanswer
 

FlorentG a écrit :

Gné ? C'est quoi la fluctuation ?


J'ai pas compris... lol
Sinon pour le tableau bah comment on fait pour le remplir ??  
Je pensait que on le remplissait avec la procedure que j'ai appeller...
Merci
 
PS: pourquoi tu m'a repondu dans ce topic ? lol
 
Repond plutot la : http://forum.hardware.fr/hardwaref [...] 7375-1.htm
 
Merci beaucoup pour ton aide
 
florent

n°1037248
FlorentG
Unité de Masse
Posté le 06-04-2005 à 14:00:36  profilanswer
 

ok


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Probleme appeller procedure...

 

Sujets relatifs
Problème sur le bon vieux quickBasic!!!Probleme Buffer ??
Probleme d'accent dans un fichier batchProblème d'impression CSS sous IE
Problème input type='hidden'[IE] - Problème avec getElementById()
Probleme de javascript sous FireFox[PHP] Problème de redimensionnement d'image !
Probleme avec tableau de chaines... 
Plus de sujets relatifs à : Probleme appeller procedure...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR