Jeg har lavet et windows service program. jeg benytter en timer i en thread, og når den udløber sker der en event! det er så meningen at eventen skal sætte en member variabel, så programmet kan se at timeren er udløbet. Hvis jeg udlæser variablen fra mit program, kan jeg se at den ikke er blivet sat! selvom eventen er blivet kaldt! hvordan sætter jeg denne member variabel?
public: Array* myIntArray; int nRow; volatile int TimeElapsed; int cols; bool stopping;
void StartTimer() { System::Timers::Timer* aTimer = new System::Timers::Timer; aTimer->Elapsed += new System::Timers::ElapsedEventHandler(this, &AlarmServiceWinService::OnTimedEvent); // Set the Interval to 30 minuts. aTimer->Interval=1000; aTimer->Enabled=true; } void StopTimer() { timer1->Enabled = false; } void OnTimedEvent(Object* o, System::Timers::ElapsedEventArgs*){ AlarmServiceWinService* p = new AlarmServiceWinService; p->TimeElapsed = 1; // Create a FileStream FileStream* fs = new FileStream("output.txt", FileMode::Append); // Create a StreamWriter StreamWriter* sw = new StreamWriter(fs); // Write some text sw->WriteLine("OnTimedEvent"); sw->WriteLine("\r"); sw->Flush(); sw->Close(); } void ReturnBoxId(void){ AlarmServiceWinService* p = new AlarmServiceWinService; // Create a FileStream FileStream* fs = new FileStream("output.txt", FileMode::Append); // Create a StreamWriter StreamWriter* sw = new StreamWriter(fs); // Write some text
Du opretter jo et nyt objekt hver gang! Så har det da ingen effekt at sætte en variabel...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.