Click here to Skip to main content
15,913,685 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to pass values to managed to unmanaged code? Pin
mutpan20-May-09 21:58
mutpan20-May-09 21:58 
GeneralRe: How to pass values to managed to unmanaged code? Pin
Klempie21-May-09 0:33
Klempie21-May-09 0:33 
Questionpointer and address? Pin
dec8220-May-09 19:10
dec8220-May-09 19:10 
AnswerRe: pointer and address? Pin
Samer Aburabie20-May-09 20:49
Samer Aburabie20-May-09 20:49 
QuestionTrying to create a form ( on main thread) from a background thread ( using Invoke()) Pin
franco nero20-May-09 18:50
franco nero20-May-09 18:50 
AnswerRe: Trying to create a form ( on main thread) from a background thread ( using Invoke()) Pin
Nicholas Butler21-May-09 2:02
sitebuilderNicholas Butler21-May-09 2:02 
QuestionMulti thread Pin
yesu prakash20-May-09 18:16
yesu prakash20-May-09 18:16 
AnswerRe: Multi thread Pin
Luc Pattyn20-May-09 19:26
sitebuilderLuc Pattyn20-May-09 19:26 
Hi again,

since you now have a thread reading a SerialPort you don't need the DataReceived event anymore, instead just call one of the Read methods and either collect or process the data, then read more.

This may or may not be complex depending on the protocol, the communication conventions, on your serial connection. The easiest one works like this:
- all information is structured in messages
- each message is encoded as text, and ends on a special character or short string (say an ASCII carriage return)
- the reading thread now can perform a ReadLine() which will collect and return data up to the first NewLine string (a CR)

As a result all your app is getting is complete messages.
All other schemes (binary data, no single message termination character, etc) may result in your app receiving fractions or multiples of messages, which forces you to add code to collect such data and split it in individual messages.

Anyway, once you have the code in place to accept one message, just process it before reading more data. One problem that might arise is your data coming in faster than your app can process; if so you need to either speed up your app, or slow down your data source, one way of doing that is by applying "dataflow control"
(see the HandShake property).

Smile | :)

Luc Pattyn [Forum Guidelines] [My Articles]

The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.

GeneralRe: Multi thread Pin
yesu prakash20-May-09 20:55
yesu prakash20-May-09 20:55 
GeneralRe: Multi thread Pin
Luc Pattyn21-May-09 3:07
sitebuilderLuc Pattyn21-May-09 3:07 
QuestionPrint Datagridview Pin
yueru20-May-09 17:58
yueru20-May-09 17:58 
AnswerRe: Print Datagridview Pin
Luc Pattyn20-May-09 19:34
sitebuilderLuc Pattyn20-May-09 19:34 
GeneralRe: Print Datagridview [modified] Pin
yueru21-May-09 18:49
yueru21-May-09 18:49 
QuestionC1FlexGrid column ordering Pin
gvanto20-May-09 17:56
gvanto20-May-09 17:56 
AnswerRe: C1FlexGrid column ordering Pin
Jimmanuel21-May-09 0:30
Jimmanuel21-May-09 0:30 
GeneralRe: C1FlexGrid column ordering Pin
gvanto21-May-09 14:17
gvanto21-May-09 14:17 
QuestionPosting messages Pin
BidSki20-May-09 17:34
BidSki20-May-09 17:34 
AnswerRe: Posting messages Pin
Henry Minute21-May-09 0:13
Henry Minute21-May-09 0:13 
QuestionAccess To Path Denied Pin
BlitzPackage20-May-09 16:40
BlitzPackage20-May-09 16:40 
AnswerRe: Access To Path Denied Pin
Luc Pattyn20-May-09 17:16
sitebuilderLuc Pattyn20-May-09 17:16 
GeneralRe: Access To Path Denied Pin
BlitzPackage21-May-09 16:26
BlitzPackage21-May-09 16:26 
GeneralRe: Access To Path Denied Pin
Luc Pattyn21-May-09 16:55
sitebuilderLuc Pattyn21-May-09 16:55 
QuestionAccess to the VGA/DVI port Pin
Bobby Hang20-May-09 14:59
Bobby Hang20-May-09 14:59 
AnswerRe: Access to the VGA/DVI port Pin
Luc Pattyn20-May-09 15:15
sitebuilderLuc Pattyn20-May-09 15:15 
GeneralRe: Access to the VGA/DVI port Pin
Bobby Hang20-May-09 15:25
Bobby Hang20-May-09 15:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.