A SUPPRIMER MERCI - C++ - Programmation
Marsh Posté le 07-03-2010 à 13:04:56
Ton programme est pas clair!
As tu déjà fais un client serveur en mode texte?
Regarde bien la doc des thread pour vérifier que tu t'y prends de la bonne façon :
http://msdn.microsoft.com/en-us/library/ts553s52.aspx
Marsh Posté le 07-03-2010 à 22:24:13
Romiinet a écrit :
|
Quand je regarde le code c++ http://msdn.microsoft.com/en-us/li [...] start.aspx
je me dis que ton &Serveur est incorrect et devrait ressembler à peut etre &Form1::Serveur
Il faudrait que tu mette tout le code pour être sur...
Pour l'erreur (176)error C2227: la partie gauche de '->Text' doit pointer vers un type class/struct/union/générique , je pense que tu as mal orthographié TB_Port (c'est un widget texte?)
Marsh Posté le 08-03-2010 à 19:03:03
Code :
|
Bon j'ai mis myThread=gcnew Thread(gcnew ThreadStart(this,&Form1::Serveur));
Code :
|
Dans la déclaration de Serveur, il faut enlever le static sinon il a pas accès a des composants non static!
Ca compile avec quelques warnings.
Sinon quand on lance le serveur, qu'on l'arrete, on a une erreur si on le redemarre (via le bouton démarrer/arrêter)
Marsh Posté le 09-03-2010 à 18:29:15
Romiinet a écrit :
|
Bon mi il me dit que ce constructeur TcpListener est obsolete mais il compile quand même!
D'apres http://msdn.microsoft.com/fr-fr/li [...] tener.aspx
il en reste 2 de dispo:
TcpListener(IPEndPoint)
ou
TcpListener(IPAddress, Int32)
Tu trouveras tout seul comment corriger en suivant l'aide des constructeurs via le lien si dessus
Marsh Posté le 11-03-2010 à 11:56:26
Romiinet a écrit : bah enfaite je peu lire les info venant de ma Form1 mais je ne peut pas agir sur eu et modifier leur valeur.
|
oui
Marsh Posté le 11-03-2010 à 22:53:59
un mot...
RTB_Log doit supporter l'accees de multiple thread
(change quelque parameter sur ce RTB_Log ) ... ici je parle sans
rien connaitre!
mais pour l'icone , tu change le language du resource
(ou francais(0x40c) , ou anglais(0x409) )
Marsh Posté le 12-03-2010 à 18:42:15
Romiinet a écrit : |
Sous VS 2008 express,
Je crée un projet winform et j'ai remplacé tout ce qu'il y avait dans form1.h par le code que tu as donnée plus et que j'ai modifié comme suit (et je crois sans autre modif au niveau de la génération du projet!):
Code :
|
Marsh Posté le 13-03-2010 à 22:32:29
ah pardon, j'ai donner une chose a essayer
mais pas une reponse.
j'ai vu un peu ce .net (rien de nouveau) un win-java-VB-com! + lourd!
Rien est hors control , mais j'ai pas de temp maintenant pour ca.
on continue ...
RTB_Log est un RichEdit control , c'est similair a
(ou le meme) de wordpad.
1/ l'exception de l'icone , tu a supprimer
un fichier (*.manifest) je crois, ...oublie ce que j'ai dit avant
2/ pour RTB_Log , change readonly to read write (pour ecrire)
et aussi multi-ligne (pour ecrire plus d'une ligne) ... voir propriete.
si ca continue , (et tu n a pas de solution direct )
tu fait functionner le program avec un seul thread
... puis tu vois le probleme apres
avec form.h il y l'autre cpp ? , ou il'y a main() , voir ca aussi !
CTRL+^ pour sauter entre '{' et la correspondante '}'
(va bien aider!)
Marsh Posté le 14-03-2010 à 12:30:29
Tu as du changer des parametes dans le projet, ca n'a pas l'air de venir du code...
Sinon je crois que cette ligne
System::Threading::Thread::CurrentThread->ApartmentState = System::Threading::ApartmentState::STA;
est inutile a cause du [STAThreadAttribute]
(en tout cas moi, je ne l'ai pas dans mon main.cpp, pas plus que <windows.h> qui est inutile d'ailleurs)!
Marsh Posté le 14-03-2010 à 14:36:06
pour l'icone
tu a effacer le namespace , tu doit changer ca :
[complie command de *.resx] (voir propriete sour *.resx)
outputfilename :
de : $(IntDir)\$(RootNamespace).$(InputName).resources
a : $(IntDir)\$(InputName).resources
si un control->InvokeRequired return true ,
tu doit appeler
la method ou changer les prorpriete avec Invoke(..) + tu va faire
des delegate sur le thread qui a cree les controls
c'est similair au evenement .. les click , button pressed ...etc
il manque tros de details mais..
.. si tu ne connais pas ces chose avant l'apparition du .Net
, tu va trouver quelque (ou beaucoup !) des problemes
/1 pour eviter ca
tu doit cree ta form (et ses controls) par le thread qui va changer
les attribut ou appeler le method , ...( sont tous des methods)
/2 tu doit trouver un plan pour ca , avant de faire le code.
tu peut chercher encore :
tu peut voir aussi la haut ,
http://forum.hardware.fr/hfr/Progr [...] ujet-1.htm
.. ou bien lance ca et va cree ce client-serveur avec C (en console!)
http://forum.hardware.fr/hfr/Progr [...] ujet-1.htm
Marsh Posté le 14-03-2010 à 19:09:11
Voila le projet:
http://www.easy-share.com/1909546728/testserveur.zip
Marsh Posté le 03-03-2010 à 18:17:19
A SUPPRIMER MERCI
Message édité par Romiinet le 18-10-2014 à 13:28:17
---------------
Achats & Ventes