|
So you have embedded WMP in your form. OK. You can pass list of files to play to WMP. Is there any event you can subscribe to or any other mechanism WMP can notify you it is done playing a song? Or Is it a way to know it has started playing a new song? That is what you need to look at.
I don't know the answer I am just giving you a hint as to what to look for. I could be 100 miles off the mark.
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
HI Yusuf,
i set the WMP to play songs in Random"Shuffle" way when it is playing a song it shows the name,album,etc,etc, of the current song so when its change song (stored from my folder directory) automatically change also the info about the new song the trouble is if i click on the ListBox to change song WMP follow my event but when finish to play that song WMP pass in status "Stopped" if i don't touch nothing WMP will play without interruption ,so i need to set WMP to don't pass never in status"Stopped" because the request of my client is that WMP will play for 4 hour continue without interruption and else ...
My trouble is if i use the textbox "search" to search a song and play it or i click on the song's list in the ListBox to change song after this action WMP will pass in status "stopped" .
However thanks for your support i will continue to research the best way to work out this trouble.
Nice regards
|
|
|
|
|
hi guys i am using windows application to develope application for adhoc network ...
so i need help in designing this application programatically ...
I tried to connect network through wireless laptop and and i am getting error win32 error as
The format not supported ....
thanks for any help
|
|
|
|
|
As Ceaser once said....
(now where are my damn lions )
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hi dude i just dint got what u mean to say ...
i am using managed wifi library to do this project , and
this is the link where you can find this library ...
http://managedwifi.codeplex.com/
u may get some idea what i want ....
Thanks for ur time and reply...
|
|
|
|
|
How can i hide from OpenFileDialog the "Look in" from the top and Recent, Desktop, My Documents,My Computer and My Network options?
I d'nt want user to Browse a folder from a specific location
Thanks
|
|
|
|
|
Im almost certain that it is not possible with the OpenFileDialog control. You would prob be best to create your own control to browse files.
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
|
Salam
with Add-in installation and setup information
to automatise Excel ,I can't create new NamedRange
in methode public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
or to cast Microsoft.Office.Interop.Excel.WorkSheet to
Microsoft.Office.Tools.Excel.WorkSheet
Thanks
good day for all
|
|
|
|
|
Hello,
I have a program that opens multiple user controls, each one needing to run 3 parallel processes. It needs to run all 3 simultaneously, and then when all 3 are complete run a process. This needs to occur every second.
What I have done, is create 3 threads, one main thread which when it starts running it calls two .Set() methods for manualevent handlers which then sets the other two threads running. I then have a waitall in the main thread (after the point where it has done its work) which waits for the other two threads to complete. At the end of the two threads I have a waitall which waits for a different manualevent to be reset (which happens when the main thread finishes).
Now this all seems to work fine, but when running 4 user controls at once, approximetly every minute the threads somehow get confused and one of the waitall's for the two sub threads get stuck. So I have put a timeout parameter here which is a hack, and doesn't really solve why it is locking up. I can't put all the code in but below is an example of it working.
Can anyone help come up with why this is occurring, or a better way of doing this?
//Thread Ones Run Method
public void ThreadOne()
{
while(true)
{
ogEvents[0] = new ManualResetEvent(false);
ogEvents[1] = new ManualResetEvent(false);
//Do a task here
//Wait for the other 2 threads to finish
bool blSuccess = WaitHandle.WaitAll(ogEvents, 4000, false);
//Do some calcs
Thread.Sleep(1000);
ogThreadTwo[0].Set();
ogThreadThree[0].Set();
}
}
//Thread Two's Run Method
public void ThreadTwo()
{
while(true)
{
//Do some task
//Task Finished
ogEvents[0].Set();
ogThreadTwo[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadTwo, 4000, false);
}
}
//Thread Three's Run Method
public void ThreadThree()
{
while(true)
{
//Do some task
//Task Finished
ogEvents[0].Set();
ogThreadThree[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
}
}
|
|
|
|
|
Hi,
why are you creating new ManualResetEvents all the time? I would create them once, and resuse them, i.a. call Set(), Reset() and Wait/WaitAll() as required, no more no less. Replacing one ManualResetEvent by another you are risking signaling or waitinf for one that isn't actually in business any more.
Whatever you do, you must allow for any or all of your threads not to get any CPU cycles at all for some time, e.g. because some high-priority thing suddenly happens.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Purely for organizational purposes, I would actually have a fourth thread controlling the other three, if possible. Threading problems can be difficult to debug, so keeping the code clean can sometimes be a big help...
Also, I would probably go with just basic EventWaitHandles
EventWaitHandle workerThreadStart[] = new EventWaitHandle[3];
EventWaitHandle workerThreadFinish[] = new EventWaitHandle[3];
while (true)
{
for (int x = 0; x < 3; x++) workerThreadStart[x].Set();
WaitHandle.WaitAll(workerThreadFinish);
}
while (true)
{
workerThreadStart[#].WaitOne();
try
{
}
catch (...)
{
}
finally
{
workerThreadFinish[#].Set();
}
}
(Note: Just typed this out in here, not in a code editor, so might have typos or syntax problems - Just trying to give a rough idea anyway)
EDIT: Oh, and when you instantiate the EWH's, bring 'em up unsignaled and AutoReset.
|
|
|
|
|
Hi,
I'm not sure why you are continually reallocating the event objects. Doing so may have created a situation where you are waiting for a signal on an event object that is no longer referenced in your code.
It is quite possible that ThreadOne could set ogThreadTwo or ogThreadThree prior to reallocation in ThreadTwo or ThreadThree. If that happens the WaitAll methods will block as they are waiting for the reallocated events to be signalled.
//Task Finished
ogEvents[0].Set();
ogThreadThree[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
should be reordered
ogThreadThree[0] = new ManualResetEvent(false);
ogEvents[0].Set();
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
so that ogThreadThree event is rellocated BEFORE you release ThreadOne.
Alan.
|
|
|
|
|
Thanks for the reply's. I have changed the code to have 4 threads, and have stopped reallocating the event and it seems to have fixed any sync issues.
Thanks
|
|
|
|
|
Hi all,
in my C#.net 3.5 windows application, i have a insert statement in my button_Click event.
but this is raising 2 times, so 2 rows with same data inserting instead of 1.
i checked in debugmode after reaching last statement it is moving to first statement again.
why this is happening?
Please give some solution
Thanks in Advance
--Naren
|
|
|
|
|
Probably you called :
button.Click += new EventHandler(button_Click);
2 times...
|
|
|
|
|
|
You might want to run a Find in your solution for "BtnOk_Click", just to be certain of that. Remember, the designer will add one event hook and hide it in the InitializeComponent() method.
This may or may not be the problem, but it's best to eliminate the easy solutions first.
|
|
|
|
|
hmmmmmmm
i did but it is showing single time only
|
|
|
|
|
Gonna have to see some code to help with this one
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
private void BtnOk_Click(object sender, EventArgs e)
{
if (TxtTotMins.Text != TxtUCmins.Text)
return;
DateTime dt = Convert.ToDateTime(System.DateTime.Now.ToString());
DateTime Wo_dt = Convert.ToDateTime(System.DateTime.Now.ToShortDateString());
DateTime mod_time=Convert.ToDateTime(System.DateTime.Now.ToLongTimeString());
string QueueId = ClientInfo.Application + "!" + Wo_dt.ToShortDateString() + "!" + TransId;
string Upload = "N";
for (int i = 1; i <= OeCnt; i++)
{
string[] Level1 = OeControl[i].Level2.Tag.ToString().Split(':');
string Level1Code = Level1[1].ToString();
string Level2Code;
string Level3Code;
if (!(string.IsNullOrEmpty(OeControl[i].Level2.Text)))
{
string[] Level2 = OeControl[i].Level3.Tag.ToString().Split(':');
Level2Code = Level2[1].ToString();
}
else
Level2Code = null;
if (!(string.IsNullOrEmpty(OeControl[i].Level3.Text)))
{
string[] Level3 = OeControl[i].Level1.Tag.ToString().Split(':');
Level3Code = Level3[1].ToString();
}
else
Level3Code=null;
string Timespent=OeControl[i].TimeText.Text;
string Query = string.Format(@"insert into SIS_OEE(T_STAMP,oper,L2_Code,L3_Code,L4_Code,time_spent,
total_time,cono,cctr,emp,job,work_date,work_shift,mod_date,mod_time,
mod_user,sfis_trans_id,queue_id,upload) values ('{0}','{1}','{2}','{3}','{4}','{5}',
'{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',{16},'{17}','{18}')", dt, TxtOperation.Text,
Level1Code, Level2Code, Level3Code, Timespent, TxtTotMins.Text, Cono, TxtCctr.Text,
Emp, TxtJob.Text, Wo_dt, Shift, Wo_dt, mod_time, Emp, TransId, QueueId, Upload);
Utility.SFISConnection.ExecuteNonQuery(Query);
}
this.Close();
}
this is mycode inside buttonclick
|
|
|
|
|
well your query code if in a for loop so i can only assume that loop is running twice. Is this what you have indended?
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
no no
for loop running fine but
it is coming again to
{ which is the first line under btn_click event
|
|
|
|
|
and then returns after the first if statement?
if you event is being called twice then it would suggest that you hav added it to the buttons Click event more than once, are there any other events attached to the button such as MouseClick, Enter etc.
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
nowhere in my project btnOK_Click event twice, i checked in design page also.
|
|
|
|
|