Timer Event durch Fkt.-Aufruf auslösen?!
-
Hi Leute,
noch mal ne Frage:
Gibt es eine Möglichkeit einen Timer-Event auszulösen, wenn eine bestimmte Funktion aufgerufen wird??Der Zweck der Sache sollte sein, eine Fkt. aus einer anderen Fkt. heraus auszuführen. Ich kann die Funktion leider nicht direkt aufrufen, da ich das mit der Übergabe der Parameter nicht hinbekomme (muss ein bestehendes Programm weiterentwickeln - wäre zu großer Aufwand alles anzupassen).
Würde mir das so vorstellen, dass der Timer ausgelöst wird und die eigentlich auszuführende Funktion steht in der
OnTimer()Kann sein dass ich mit der Timer-Idee völlig falsch liege. Würde mich also freuen, wenn ihr mir sagen könntet, wie ich eine Fkt. aus einer anderen Fkt. heraus aufrufen kann!
Bin euch dankbar für euren Zeitaufwand,
chiao cha-OS
-
Du kannst mit SetTimer den Timer auslösen.
-
cha-OS schrieb:
Gibt es eine Möglichkeit einen Timer-Event auszulösen, wenn eine bestimmte Funktion aufgerufen wird??
Und was hindert Dich einfach die Funktion aufzurifen, die durch OnTimer aufgerufen wird? Oder gar den Handler selbst aufzurufen. Niemand verbietet Dir eine Handler Funktion aufzurufen.
-
Versteh ich auch nich

...wenn ihr mir sagen könntet, wie ich eine Fkt. aus einer anderen Fkt. heraus aufrufen kann!
so ?
void Klasse::Funktion1() { Funktion2(); }?!

-
Ja!

Wie man eben Funktionen aufruft! Solltest Du evtl. doch erstmal ein Buch über C++ lesen?

-
@guenni81
also kann ich mit settimer() gleich das Event auslösen?! Werd ich gleich mal probieren... DANKE!Ich habe ja schon versucht die Funktion direkt aufzurufen, aber die Parameter... Ein Beispiel:
funktion1(dc);Wenn ich funktion so aufrufe bekomme ich den Fehler
dc: Nichtdeklarierter BezeichnerDeshalb suche ich nach einer Alternative! Wenn natürlich jemand eine Lösung für dieses Problem hat bin ich sehr dankbar!
Danke für eure Hilfe,
chiao cha-OS
-
cha-OS schrieb:
@guenni81
also kann ich mit settimer() gleich das Event auslösen?! Werd ich gleich mal probieren... DANKE!Nein! Das kann man nicht. Man kann nur das Timer Interval verändern, dass er bald aufgerfen wird. Durch SetTimer wird aber keine Nachricht ausgelsöt und keine TimerProc aufgerufen!
cha-OS schrieb:
Ich habe ja schon versucht die Funktion direkt aufzurufen, aber die Parameter... Ein Beispiel:
funktion1(dc);Wenn ich funktion so aufrufe bekomme ich den Fehler
dc: Nichtdeklarierter BezeichnerWas sagt Dir das? Die Variable dc existiert in Deinem Kontext nicht.
Also musst Du die Variable entsprechend beschaffen. Sollte es sich aber um einen Device Context handeln (Ich ahne schon so etwas), um etwas zu Zeichnen, dann bist Du ganz auf dem Holzweg!
Soll also diese Funktion, die Du da meinst etwas in einem Fenster Zeichnen, dann verwende bitte Invalidate und nicht eine obskure Funktion die in Dein Fenster irgendwann zeichnet (alles nur Vermutung meinerseits).Ich bleibe bei meinem Rat: Lies bitte ein Buch zu C++!

-
Martin Richter schrieb:
Nein! Das kann man nicht. Man kann nur das Timer Interval verändern, dass er bald aufgerfen wird. Durch SetTimer wird aber keine Nachricht ausgelsöt und keine TimerProc aufgerufen!
Hast recht, du kannst damit nur den Zeitinterval festlegen.