Accueil > Forum > > > > Thread et PortSerie
Thread et PortSerie
jeudi 22 novembre 2007 à 12:53:10 |
Thread et PortSerie

DarkMickael
|
Bonjours, j'aimerai etre un peu éclairé par ce probleme, je m'explique j'ai une connection en port serie de PC a Pocket PC l'ors de l'envoi d'information sur le PocketPC j'ai une erreur comme ceci : Control.Invoke doit être utilisé pour permettre l'interaction avec des contrôles créés dans un autre thread.
ceci ce produisé aussi qunad je fesait du PocketPC au PC mais j'ai reussi a la contourné via une fonction "BarBar"
Control.CheckForIllegalCrossThreadCalls = False
Mais je ne peut l'utilisé cette fonction sous le mobile... Merci d'avance pour votre aide,
PS : Juste la partie du de reception de donné sur le PocketPC :
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived System.Threading.Thread.CurrentThread.Name = 1 txtReception.Text = SerialPort1.ReadLine End Sub
|
|
jeudi 22 novembre 2007 à 13:10:09 |
Re : Thread et PortSerie

pneau
|
salut pourquoi n'utilises tu pas ActiveSync pour gérer tes communications entre le PC et le Pocket PC ? Pat Don't Worry , Be Happy 
|
|
jeudi 22 novembre 2007 à 13:14:39 |
Re : Thread et PortSerie

DarkMickael
|
Car je shouaiterai faire une application independante de Microsoft ActiveSync, Remarque tu pourrait me donné plus d'info sur la communication entre ActiveSync et le PocketPC ? sa peut m'etre toujours utile un jours
|
|
jeudi 22 novembre 2007 à 13:42:26 |
Re : Thread et PortSerie

pneau
|
oui, moi aussi, je voulais faire cela mais le probleme c'est que pour gérer un périph connecté sur USB ou Réseau, tu fais comment ? perso je n'ai pas trouvé... je n'ai peut etre pas bien cherché. Bref, pour des soucis de délais de réalisation, je me suis retranché sur ActiveSync. donc, j'ai utilisé les fonctions de la dll RAPI. ci dessous les déclarations des api utilisées. [ StructLayout(LayoutKind.Explicit)]structRAPIINIT{ [ FieldOffset(0)]publicint cbSize;[ FieldOffset(4)]publicIntPtr heRapiInit;[ FieldOffset(8)]publicint hrRapiInit;}; [ StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]structCE_FIND_DATA{ publicint dwFileAttributes;publicint ftCreationTime_LowDateTime;publicint ftCreationTime_HighDateTime;publicint ftLastAccessTime_LowDateTime;publicint ftLastAccessTime_HighDateTime;publicint ftLastWriteTime_LowDateTime;publicint ftLastWriteTime_HighDateTime;publicint nFileSizeHigh;publicint nFileSizeLow;publicint dwReserved0;[ MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]publicstring cFileName;}; [ DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]privatestaticexternInt32 WaitForSingleObject (IntPtr hHandle,Int32 dwMilliseconds);[ DllImport("rapi.dll", SetLastError = true)]privatestaticexternint CeRapiInitEx (refRAPIINIT pRapiInit);[ DllImport("rapi.dll", SetLastError = true)]privatestaticexternint CeRapiUninit();[ DllImport("rapi.dll", SetLastError = true,CharSet=CharSet.Unicode)]privatestaticexternint CeFindFirstFile(string lpFileName,refCE_FIND_DATA lpFindFileData);[ DllImport("rapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]privatestaticexternint CeFindNextFile(int handle, refCE_FIND_DATA lpFindFileData);[ DllImport("rapi.dll")]privatestaticexternbool CeFindClose(int handle);[ DllImport("rapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]privatestaticexternint CeCopyFile(string lpExistingFileName,string lpNewFileName,bool bFailIfExists);[ DllImport("rapi.dll", SetLastError = true, CharSet=CharSet.Unicode)]privatestaticexternbool CeDeleteFile(string lpFileName);[ DllImport("rapi.dll", SetLastError = true)]privatestaticexternint CeRapiGetError();[ DllImport("rapi.dll", SetLastError = true)]privatestaticexternint CeGetLastError();[ DllImport("rapi.dll", CharSet=CharSet.Unicode)]privatestaticexternint CeCreateFile( string lpFileName, uint dwDesiredAccess, int dwShareMode, int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);[ DllImport("rapi.dll", CharSet = CharSet.Unicode)]privatestaticexternint CeReadFile(int hFile,byte[] lpBuffer,int nNumberOfbytesToRead,outint lpNumberOfbytesRead,int lpOverlapped);[ DllImport("rapi.dll")]privatestaticexternuint CeGetFileSize(int hFile,refuint lpFileSizeHigh);[ DllImport("rapi.dll")]privatestaticexternint CeCloseHandle(int hFile);[ DllImport("rapi.dll", CharSet = CharSet.Unicode)]privatestaticexternuint CeRegOpenKeyEx(uint HKEY,string lpSubKey,int ulOptions,uint samDesired,outuint phkResult);[ DllImport("rapi.dll", CharSet = CharSet.Unicode)]privatestaticexternint CeRegCreateKeyEx(uint hKey,string lpKeyName,int lpReserved,string dwType,int dwOptions,int samDesired,int lpSecurityAttributes,outuint phkResult,outuint lpdwDisposition);[ DllImport("rapi.dll", CharSet = CharSet.Unicode)]privatestaticexternint CeRegSetValueEx(uint hKey,string lpValueName,int lpReserved,int dwType,byte[] lpData,int cbData); [ DllImport("rapi.dll", CharSet = CharSet.Unicode)]privatestaticexternuint CeRegQueryValueEx(uint hKey,string lpValueName,int lpReserved,refint lpType,byte[] lpData,refint lpchData); [ DllImport("rapi.dll")]privatestaticexternint CeRegCloseKey(uint hkey);Pat Don't Worry , Be Happy 
|
|
jeudi 22 novembre 2007 à 14:10:26 |
Re : Thread et PortSerie

lesdis
|
Bonjour, La récupération des données de SerialPort ne se déroule pas sur le même thread que le form, donc il n'est pas possible d'envoyer les infos en "direct". Il faut passer par un délégué qui le fera pour nous. Petit exemple sur cette source.
Bonne Prog 
|
|
jeudi 22 novembre 2007 à 14:18:29 |
Re : Thread et PortSerie

DarkMickael
|
Merci pour l'information sur la connection avec Microsoft ActiveSync grace a la DLL RAPI; justement moi pour le transfere de donnée je l'effectue via bluetooth, j'ouvre un port com sur le PC et sur le PocketPC, puis je l'ai fait dialogué :
'Partie pour que le PC recoi l'information du PocketPC
SerialPort1.PortName = "Com4" SerialPort1.BaudRate = 9600 SerialPort1.DataBits = 8 SerialPort1.Open() Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived Control.CheckForIllegalCrossThreadCalls = False txtReception.Text = SerialPort1.ReadLine End Sub
'Partie pour que PocketPC envoi l'information au PC
SerialPort1.PortName = "Com7" SerialPort1.BaudRate = 9600 SerialPort1.DataBits = 8 SerialPort1.Open()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click SerialPort1.WriteLine("Envoi De Donnée") End Sub
ATTENTION : Ne pas utilisé l'émulateur car il ne gere pas ce protocol faire les teste directement sur son PocketPC
|
|
jeudi 22 novembre 2007 à 14:24:22 |
Re : Thread et PortSerie

DarkMickael
|
Merci lesdis pour ton information, mais, je l'avait deja explorer pour justement essaye de résoudre mon probleme mais cela n'as rien fait...) enfaite Invoke n'est pas disponible pour le PocketPC aurais tu sinon une autre methode ?
|
|
jeudi 22 novembre 2007 à 14:25:57 |
Re : Thread et PortSerie

lesdis
|
Ha.... Je n'ai jamais programmer pour pocket PC, mais je vais essayer d'y jeter un coup d'oeil. Je te tiens au courant si je trouve quelque chose ^^ Bonne Prog 
|
|
jeudi 22 novembre 2007 à 20:13:34 |
Re : Thread et PortSerie

lermite222
|
Bonsoir à tous,
Je ne connais pas .Net, mais si je devai réaliser une tel application en VB6 j'employerais un ActiveX.EXE qui lui peu gérer le multiThred. Je suppose que cà existe aussi en VB.2005 ? Excusez-moi si je suis à côté de la plaque !. A+
|
|
jeudi 22 novembre 2007 à 20:34:50 |
Re : Thread et PortSerie

DarkMickael
|
Enfet sous VisualBasic.Net il y a une fonction deja inclue sauf je ne sait pas l'utilisé :s et je n'y arrive pas puis c'est toujours mieu que d'avoir reccour aux ActiveX, OCX...
|
|
Cette discussion est classée dans : pc, thread, pocketpc, serialport1, portserie
Répondre à ce message
Sujets en rapport avec ce message
URGENT Gestion des interface LTP et COM d un PC sous VB [ par ponch ]
-quel sont les differents modes d'utilisation du port parallele sur un PC ?-Presenter succinctement le fonctionnement du port serie-VB ne possedant pa
qui sait utiliser microsoft agent??? [ par sylvia ]
j'utilise un controle microsoft agent, c'est un petit personnage genre merlin.'application fonctionne très bien sur mon pc mais lorsque je l'instakle
Faire tourner un executable sur un autre pc [ par OCh ]
J'ai un executable issu d'un programme fortran sur un pc, executable queje lance d'habitude localement sous DOS.Je souhaite maintenant pouvoir le lanc
lancer un script Unix sur une station depuis VB sur un pc [ par OCh ]
Quelqu'un peut-il me donner les grandes lignes de ce que je doisecrire en C sous Unix pour assurer un dialogue avec mon applicationVB sur pc?
Visualiser l'écran d'un PC en réseau. [ par B.L ]
Est-il possible en VB de pouvoir visualiser en temps réel l'écran d'un PC connecté en réseau sur un autre PC ?Merci.
compilation [ par neness ]
j'ai creer un programme qui a un moment execute un autre programme cela marche tres bien quand je l'execute sur mon pcmais j'aimerais pouvoir l'execut
Conecter Un PC Portable à mon PC de bureau [ par yobogs ]
Est il possible de connecter mon ordinateur portable à mon PC de bureau hors mis la solution du réseau?Ce serait pour utiliser mon graveur à partir de
mettre la main sur un #@$£!! de thread... [ par Grib ]
Voila, ma feuille Excel a des remote links (fonctions d'un Add-in Bloomberg) que je veux mettre a jour quand je l'ouvre, puis je veux sauver et fermer
Connection entre 2 PC [ par efb ]
Bonjour,je souhaite connecter 2 PC par le biais d'un cable LAPLINK. ces 2 pc sont sous NT.LE dialer PC de W95, ne fonctionne pas sous NT.Alors quoi de
Objet : comment lancer le programme pendant l'inactivité du PC [ par codasa ]
1.Quel serai la commande pour faire exécuter le programme quand l'ordinateur serai plus de 15 minutes inactifExemple :a.Programme en VB charger en mém
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|