|
How to pass arguments to the thread...
I do the next things in the constructor:
m_PaintThread = new Thread(new ThreadStart(PaintMap));
And next things in function that calls the thread:
if(m_PaintThread.IsAlive)
{
m_PaintThread.Abort();
m_PaintThread.Join();
}
m_PaintThread.Start();
So...
In that thread i draw the map, and i call the function CreateGraphics,
but it says that an object reference is required when i call nonstatic method...
I remember in C++ I could pass the parent class in parameter LPVOID lParam,
But how to make it here???
And another question - How to paint map Without Flicking? So how to implement double buffered painting...
|
|
|
|
|
Use ThreadPool.QueueUserWorkItem(), which lets you pass a single object argument to your thread. Or use TheDelegateYouAreUsing.BeginInvoke, which allows you to pass all the arguments necessary.
Rassul Yunussov wrote:
How to paint map Without Flicking? So how to implement double buffered painting...
Inherit a new class from the control you want to draw on. In its constructor, use this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
A word of warning: be careful passing state between threads. It's generally a bad idea because things get hairy when dealing with multiple threads accessing the same variable.
Also, keep in mind you should NEVER access a Windows Form control (or any other Win32 common control-based object) from a thread other than the creating thread. The only Windows Forms control methods you're allowed to call on another thread are Invoke, BeginInvoke, and CreateGraphics().
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
But how to Stop the thread, created by this method???
It is necessery to stop my thread, because it draws the image in the canvas and if i'll start to draw the scene, when the first thread haven't finished its work they both will draw??? The image will be spoiled... I think...
|
|
|
|
|
The thread will stop when the method has finished executing. If you want to cancel it before then, either roll your own cancelling mechanism (have some static "cancelled" flag or something), or use Thread.Abort() and catch the resulting ThreadAbortException.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
Hi,
I'm new to C# and .NET framework.
I need to send several files to a AXIS (Java) web service. This web service takes as Input an HashMap that has the files mentioned. The complex type HashMap has been serialized with success and I'm able to send this type to the service:
eg. :
namespacexpto.mapItem [] mI = new namespacexpto.mapItem[2] ;<br />
mI[0] = new namespacexpto.InsDoc.mapItem();<br />
mI[0].key = "key";<br />
mI[0].value = value;
Serialization:
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://xml.apache.org/xml-soap")]<br />
public class mapItem {<br />
<br />
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]<br />
public object key;<br />
<br />
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]<br />
public object [] value;<br />
}
My question is how can I send (if possible) the files to the Web Service. If that is not possible, can anyone suggest a different approach to the problem.
The Java source that implements the service is:
(...)<br />
File ficheiro = new File(filepath);<br />
FileOutputStream fout = new FileOutputStream(ficheiro);<br />
<br />
AttachmentPart teste =(AttachmentPart) map.get("ficheiro");<br />
<br />
DataHandler dj = (DataHandler)teste.getDataHandler();<br />
<br />
BufferedInputStream in = new BufferedInputStream(dj.getInputStream());<br />
while(in.available()!=0)<br />
{<br />
fout.write(in.read());<br />
}<br />
System.out.println("ficheiro is file " +ficheiro.isFile());<br />
while (ficheiro.length() == 0)<br />
{<br />
<br />
}<br />
fout.flush();<br />
fout.close();<br />
(...)
Tanks in advance for all the help.
|
|
|
|
|
how to i connect to sqlexpress from inside .NET IDE ?
i did a full install of 2005 beta2.050215-4400 but i have not been able to get it going for the sql connection to a db file using sqlexpress.
i get the error below (code below is from event log)
i can however connect to sqlexpress from cmd line using sqlcmd -S.\sqlexpress
i have googled and all answers seem to say that changing user instance to false will work. the code below ID 15372 is when instance is set true, when i set it false i get other errors that dont appear in event log but are like;
Directory lookup for the file .. db file ... failed with the operating system error 5 (error not found)<br />
create databse failed .. no permission or database doesnt exist ...<br />
and 2 alter statements failed for same reason
Event Type: Error
Event Source: MSSQL$SQLEXPRESS
Event Category: Logon
Event ID: 15372
Date: 30/06/2005
Time: 7:44:17 PM
User: WEBDEZIGN\maurice
Computer: XPPRO
Description:
Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed. [CLIENT: <local machine>]
please help me
this is driving me nuts
kind regards,
g00fy
|
|
|
|
|
hi, i am using writeline to write out very long lines to a file, the lines are approx 2000 chars, but i am getting spurious '0A' in a continuous line,
anyone know why?
|
|
|
|
|
*.WriteLine methods add "0D 0A" after each row, to produce a windows style line break.
If it only adds "0A", set TextWriter.NewLine to "0D 0A" or use a different encoding.
_________________________________
Please inform me about my English mistakes, I still try to learn your language!
|
|
|
|
|
Hello,
Anyone can help on giving some sources or examples? I need to develope a small web based reminder system using C# but I could not find any references..
Any good sites?
Thanks a lot~~;)
|
|
|
|
|
You're going to have to explain, in more detail, what you mean by a "web-based reminder system". How do you want the user to be notified of the reminder?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hello,
Actually the system will consist of a small scheduling system which mean that it will remind the login user if there is a meeting on certain date or a due date is reaching..i just need a simple pop up reminder with sounds. (like alarm clock..)
thanks.
|
|
|
|
|
All fine and good, but still, what do you mean by "Web based"?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
i mean that this system is not window based, internet based.
|
|
|
|
|
No kidding!
That's also no description of how you want these people notified! Since your server can't contact the client machines without a server running on them, I don't see how you're going to remind them of anything!
Now, do you want to explain how you were really thinking of doing this?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Sorry please help..
I wanna delete the whole row where either 1 of the 2 columns have the number i keyed.
This is my code:
sql = "DELETE FROM Quiz WHERE [PID]=" + idStr + " AND [id]=" + idStr;
Can tell me where i goes wrong??
fire85.
|
|
|
|
|
When you want to delete if at least one column has a matching value, you have to use OR, not AND. Simple boolean logic.
Your request only deletes when both columns have the same value.
x OR y true false
true true true
false true false
x AND y true false
true true false
false false false Regards,
mav
|
|
|
|
|
Oh ya -.-"
Thanks Alots mav
fire85.
|
|
|
|
|
Hi All,
Can someone please see if they can help me in my problem or point me in the right direction.
I'm trying to make a phone call using TAPI 3 and C#. I have managed to make the call, but when it's connected, I can hear the other party clearly, but they cannot hear me. My microphone and earphones are plugged into the modem's jacks. The modem is installed as an Intel(R) 536EP Modem and there is a Unimodem Full-Duplex Audio device installed as well.
The end goal of this project is to be able to record the conversation that takes place and store it as a wave file on the hard drive.
As a side note: One thing I could manage to do was to use the dialer.exe utility with WindowsXP to make the call. If I then plugged the microphone into the sound card and the earphones into the modem, I managed to have a conversation both ways. I'm not sure if this info would help at all but I thought I'd include it.
Regards and Thanks,
|
|
|
|
|
Although I don't know about TAPI, one general point comes to mind:
Did you try connecting the microphone to the soundcard and see if your program works then?
Regards,
mav
|
|
|
|
|
Yes, I have tried that. Although that works when I use dialer.exe (with WinXP), it doesn't work when I use my application to dial with.
Thanks for the response anyway.
|
|
|
|
|
how would i go about creating an editable menu like the way you create menu/s in .NET IDE ?
want to have a small app where user can modify menu on a per user basis. was just going to have a form where they selected the parent menu, the action and the menuitem text but thought i may give this a try
kind regards,
g00fy
|
|
|
|
|
Hi!
I'm looking for information about secure remoting. I hope someone out there could help me with some good links to such information.
Thank you!
|
|
|
|
|
Our trusty friend Google: clickety
Especially the first hit.
|
|
|
|
|
couple of days ago I came across an article on CP about the open source Lucene search engine ported to c#. I was impressed with the article and I wondered how many people are using Lucene in their application ? How powerful is it compared to commercial search engines such ISYS etc.
I would be most interested in reading other folks experiences with Lucene
cheers
|
|
|
|
|
I use the Rectangle to hold up the Dimension of area...
But i can't access the Left, Right,Top,Bottom properties in it...
It Says, that they are read-only...
Where the problem?
Point p = (Point)(m_Points[0]);<br />
Dimension.Left = Dimension.Right = p.X;<br />
Dimension.Top = Dimension.Bottom = p.Y;
|
|
|
|