PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei der Benutzung von SimpleTimer



fredyxx
30.05.2016, 00:22
Hallo,

Aktivieren des Timers laut Info mit :
__________________________________________________ ____________________________
int setInterval(long d, timer_callback f)
Call function f every d milliseconds. The callback function must be declared as void f().

void repeatMe() {
// do something
}

timerId = timer.setInterval(1000, repeatMe);
__________________________________________________ _______________________________

Deaktivieren des Timers laut Info mit :
__________________________________________________ ______________________________
void disable(int timerId)

Disables the specified timer.

timer.disable(timerId);
__________________________________________________ ______________________________

Ich bin der Meinung, ich habe das so richtig umgesetzt..... mein PC ist da anderer Meinung!

timer1.setInterval(3000, Zeitablauf1); // Endzeit und UP, wenn Endzeit erreicht ist
.
.
.
timer1.disable(Zeitablauf1); // Timer1 löschen

.
.
.
void Zeitablauf1() { // wird ausgeführt, wenn SimpleTimer timer 1 abgelaufen ist
.
.

Fehlermeldung bei disable:
no matching function for call to 'SimpleTimer::disable(SimpleTimer&)'

Was ist da falsch?

Gruß
fredyxx

botty
30.05.2016, 01:29
Hi,

Du mußt Dir die Id von setInterval() merken:


int zeitId;

zeitId = timer1.setInterval(3000, Zeitablauf1); // Endzeit und UP, wenn Endzeit erreicht ist

diesen Integer mußt Du dann beim disable() verwenden und nicht den Funktionszeiger auf Zeitablauf1():


timer1.disable(zeitId);


Gruß
Chris

fredyxx
30.05.2016, 09:57
int zeitId;

zeitId = timer1.setInterval(3000, Zeitablauf1); // Endzeit und UP, wenn Endzeit erreicht ist


Gruß
Chris

Hallo,

Danke!
War also ohne das "disable" mein Timeraufruf auch schon falsch und unwirksam oder muss das "zeitId = " nur sein, wenn ich den disable-Aufruf mache?

Gruß
fredyxx

Sisor
30.05.2016, 12:57
War also ohne das "disable" mein Timeraufruf auch schon falsch und unwirksam oder muss das "zeitId = " nur sein, wenn ich den disable-Aufruf mache?

War nicht falsch. Die Funktion wird ausgeführt, auch wenn der Rückgabewert nicht gelesen wird.