|
I have an application that receives and processes characters from a serial port. This is done in a separate 'receiver' thread. For diagnostics, when a complete packet of data is received on the serial port, a string is formatted and put on a text box that is part of the main application thread.
In VS2003, modifying the Text property of a text box in the main thread with the code in the worker thread worked and never gave me a problem. The same code recompiled in VS2005 throws an exception: "Cross-Thread operation not valid". Is there a "proper" way to make such changes across threads, or a switch that allows the new code to compile as per the old?
Jonathan M
|
|
|
|
|
Yeah, the rules have been made tighter in .NET 2.0. This[^] article explains the right way to do it, along with the reason why.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Hello,
I made a small socket listener with C#, which listens for incomming connection requests (TCP) and passes them to another thread which handles the communication via a Socket.
I can connect without problem to that application using a Client application I wrote in C++, however when I close the connection in the C++ application, the .NET socket gets in a loop receiving 0 byte data... Testing the Connected property on the Socket returns still true, meaning the .NET app didn't realise that the socket got disconnected. Is there something I overlooked???
If anyone knows what might be wrong please let me know...
Friendly Regards,
Davy
|
|
|
|
|
GDavy wrote: the .NET socket gets in a loop receiving 0 byte data.
According to MSDN[^] that is what the socket does :
If you are using a connection-oriented Socket, the Receive method will read as much data as is available, up to the size of the buffer. If the remote host shuts down the Socket connection with the Shutdown method, and all available data has been received, the Receive method will complete immediately and return zero bytes.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Hi folks.,
now i have to develop the web browser in the single win form , i know the IE componant help to develop this application but i dont know that componant.
i know the web browser namespace added in framework 2.0, but i need the application in only framework 1.1. If any one done like this plz share with me.
advance thanks to you
best regards.
ranandbe
-- modified at 6:30 Friday 12th May, 2006
|
|
|
|
|
|
pls help me on "how to open a MS word doc in asp.net application"...
|
|
|
|
|
|
Dear Sir,
I am assigned to draw ( with GLUT ) line chart and Bar chart
for ( say = 5 ) inputs. I checked my books and on net , but
could not find any helpful coding.
Therefore I uesd fundamenta method to get to a solution.
I used six line ( Bresenham algo ) segments to define Two
major axes amd foue head - to - tail line ( edges )segments
to define five ( vertices ) Points .
For bar chart , I have drawn five rectangled of a small width
and ordinates to define the height ( parameter ).
The result just fulfills ther intent , but is too crude ,
messy and unpleasant to look at. No parameters or markings .
My query is that ....................
is there any function namely < Draw_BarChart> . like we have
< Draw_Circle> or < Draw_Line> in the library , or custum -
written . At least I
could not locate one.
If there exiats such a function < Tool > , please provu\ide ,e
the link , to work upon. I will be futher obliged , if I can
get < chars> code in C++ or any other version of C .
Thanks ,
ah.
|
|
|
|
|
i want to validate user and password.
i code below:
DirectoryEntry de = new DirectoryEntry(LDAPPath);
DirectorySearcher search = new DirectorySearcher(de);
search.Filter = "(&(objectclass=user)(cn=" + userID + "))";
SearchResult sr = search.FindOne();
if (sr != null)
{
string userDN = sr.Properties["distinguishedname"][0].ToString();
DirectoryEntry de2 = new DirectoryEntry(sr.Path, userDN, password);
try
{
de2.RefreshCache();
Console.WriteLine("success");
}
catch (System.Exception a)
{
Console.WriteLine(a.Message);
}
}
i add a break point at " de2.RefreshCache();"
it always throw an exception when run it and then out put the error maeeage
even userid and password were matched
appreciated for helping
|
|
|
|
|
hi,
i am developing the project in c#.NET . i need to insert the data into SQLSERVER tables using insert command. if any one can help me i would be kindful.
plz give me an sample statement also.
-- modified at 2:02 Friday 12th May, 2006
|
|
|
|
|
http://www.codeproject.com/dotnet/simpledbreadwrite.asp
Hope this will help you.
Best Regards,
Apurva Kaushal
|
|
|
|
|
hi
I have one threat for calculating but i need some progress bar to do visualisation of step of calculation how to do that???
good bye
best regards
|
|
|
|
|
Look in the C# Windows Forms / C# Controls menu here at CodeProject. There is an entire section on Progress Controls.
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
I knoe it how to inset progrss bar in normal program but how to do it in thread???
|
|
|
|
|
You have to tell the ProgressBar to update, but be careful not to directly access UI elements from a different thread than the one they were created in.
So you should define a delegate, for example
private delegate void SetProgressValueDelegate(int val); and a method in your class to update the ProgressBar (its signature must match the delegate):
private void SetProgressValue(int val)
{
progressBar1.Value = val;
}
Then you can safely invoke the method from your thread by calling:
Invoke(new SetProgressValueDelegate(SetProgressValue), new object[] { newValue }); where newValue is the value to set the ProgressBar to.
Regards,
mav
--
Black holes are the places where god divided by 0...
|
|
|
|
|
I want to make a WMI explorer but I don`t know some things. I know haw to list elements from a class using WMI SQL(select * from {class}) but I don`t know how to list all namespaces or to list all classes from a namespace. Could anyone provide me a WMI SQL tutorial or some ideas.
|
|
|
|
|
HI,
how to show forms from multiple windows applications into the same container/workspace using Composite UI application block
Thanks in advance,
Narasimha
|
|
|
|
|
I'm sorry I have to write it one more time (this is something like the 3rd time), but no-one has answered and I have to get them figured out! and I will keep posting untill I will have answers, and as you see.... this is REALY ORGENT!
please help me...
1. I'm trying to build my own ICryptoTransform-able (System.Security.Cryptography.ICryptoTransfom) class, so I could use it in CryptoStream. (I searched in codeproject articles and didn't fine something helpful, I promiss that if some-one will help me I will write an article on how to do it!)
I already built the algoritm, and I inherited from ICryptoTransform as they wanted to, and I'm using MSDN to know what methods and properties I need to do, but there are two properties, and two methods that I don't know what to do with them, and what I should return from them... the properties are InputBlockSize AND OuputBlockSize, and the methods are TransformBlock and TransformFinalBlock, I don't know what they need to get (what does every parameter stand for), and what to return, the MSDN doesn't help me very much in here.
If anyone can tell me what to do in them, and even give me an exemple I would appriciate it...
2. And one more thing, where can I save information on my application (i.e is registered, setupdate etc...), and how that it won't be able to be changed without my pass or something like that...?
Thanks alot in advance
|
|
|
|
|
<br />
<br />
private void Form1_Load(object sender, System.EventArgs e)<br />
{<br />
Patient PatientData = null;<br />
PatientData.id[0] = 0;
PatientData.Lname[0] = "Smith";<br />
PatientData.Fname[0] = "John";<br />
PatientData.Mname[0] = "Allen";<br />
}<br />
<br />
public class Patient<br />
{<br />
public int[] id = new int[5];<br />
public string[] Lname = new string[5];<br />
public string[] Fname = new string[5];<br />
public string[] Mname = new string[5];<br />
}<br />
The above code produces "Object Reference not set to an instance of an object". I simply want to be able to put 5 values in each variable array. I'm having problem with the first one. Can anyone help?
P.S.- The code compiles fine...
-Kay
-- modified at 23:20 Thursday 11th May, 2006
|
|
|
|
|
You need to create object before assining it properties.
Replace first line in form1_load to this:
<br />
Patient PatientData = new Patient();<br />
Also you can turn your patient class into struct.
Best regards, Alexey.
|
|
|
|
|
Interestingly I just figured it out prior to your posting...HOWEVER....now, I'm having problems accessing the values... I'm checking the values in my immediate window and they are populating fine.... I have a function that I'm passing a parameter (the id) so I can produce the correct values in my testbox.... (see code below)....
However, I'm not getting an error....I'm just getting a 0 in my first field....any help is greatly appreciated....
<br />
private void ShowPatient(int id)<br />
{<br />
Patient PatientData = new Patient();<br />
txt1.Text = PatientData.id[id].ToString();<br />
txt2.Text = PatientData.Lname[id];<br />
txt3.Text = PatientData.Fname[id];<br />
txt4.Text = PatientData.Mname[id]; <br />
}<br />
Thank you again...
-Kay
|
|
|
|
|
Of course, you must initialize this variable first.
Please read some books, about C# and object oriented programming.
Best regards, Alexey.
|
|
|
|
|
lol..ok, is there anyone ELSE that can help me. I know I'm close and I got this far by using books....but I'm taking it beyond what the book example is and that's why I'm on this forum. If anyone can share the knowledge to address this basic problem, I'd greatly appreciate it. Thank you anyway Alex... I'll be sure to share the answer with you once I figure it out.
-Kay
|
|
|
|
|
got it...Here is the functioning code for all those who can benefit from the knowledge... Keep in mind it's just the basic functions and class.... I'm not including all the event... you'll have to fill in the holes...
<br />
private void Form1_Load(object sender, System.EventArgs e)<br />
{<br />
Patient.id[0] = 1;<br />
Patient.Lname[0] = "Smith";<br />
Patient.Fname[0] = "John";<br />
Patient.Mname[0] = "Allen";<br />
}<br />
<br />
public class Patient<br />
{<br />
public static int[] id = new int[5];<br />
public static string[] Lname = new string[5];<br />
public static string[] Fname = new string[5];<br />
public static string[] Mname = new string[5];<br />
}<br />
<br />
private void ShowPatient(int id)<br />
{<br />
txt1.Text = Patient.id[id].ToString();<br />
txt2.Text = Patient.Lname[id];<br />
txt3.Text = Patient.Fname[id];<br />
txt4.Text = Patient.Mname[id]; <br />
}<br />
-Kay
-- modified at 0:28 Friday 12th May, 2006
|
|
|
|