|
| Autor |
Nachricht |
Rudolf10000 Newbie

Anmeldedatum: 06.10.2011 Beiträge: 4
|
Public Function aus anderem Sub beenden
Verfasst am: 16.10.2011, 18:09 |
|
|
Hallo Forum, trotz langer Suche komme ich mal wieder nicht weiter.
Ich rufe aus einem Sub eine Funkton auf , die in einem Modul steht.
Beende ich nun den Sub, läuft die Funktion weiter.
Ich finde keinen Befehl, der die Funtion beendet.
zb:
[code]
Private Sub BTN_Programm_Start_Click
Timer1.enabled = true
Me!BTN_Check.visible = true
[u]RUN_FUNCTION_MESSUNG[/u] 'Die Funktion liegt in dem Modul MDL_MESSUNG
End sub
[/code]
Nun will ich das Programm abbrechen
[code]
Private Sub BTN_Programm_Stop_Click
Timer1.enabled = false
Me!BTN_Check.visible = false
[u]EXIT RUN_FUNCTION_MESSUNG[/u] ' Syntax error, Wie muesste es hier lauten ?
End sub
[/code]
Wäre schön wenn mir hier jemand einen Schubs geben könnte
Beste Grüsse
Rudolf |
|
| |
|
 |
christopher.g Überflieger

Anmeldedatum: 03.05.2008 Beiträge: 565
|
Verfasst am: 18.10.2011, 10:03 |
|
|
hi
ich weis ja nicht wie deine function aussieht
aber eigenltich wenn du in einer sub eine andere funktion aufrufst
wir die sub doch erst dann weiter ausgeführt wenn die function abgeschlossen ist
oder hast du eine schleife am laufen??
die auf etwas wartet und
wärenddessen rufst du mit deinem timer die sub und function wieder auf
könnte das das problem sein? |
|
| |
|
 |
Rudolf10000 Newbie

Anmeldedatum: 06.10.2011 Beiträge: 4
|
Verfasst am: 18.10.2011, 11:00 |
|
|
Hallo Christopher,
Du hast recht, ich habs mal wieder schlecht beschrieben.
Es ist vergleichbar mit einer Waschmaschine :
Ich rufe aus einem Formular mit dem Start Button das Programm(Function) "Spülen" auf.
"Spülen" liegt in einem Modul und abeitet über Timer, zeitgesteuert.
Ventil auf, 2sec Pause, Pumpe an usw.
Der Timer wiederum ist nicht der ONBOARD Timer sondern ebenfalls eine Funktion ,
die auch wiederum in einem Modul liegt.
Ich hab da grad echt ein Brett vorm Kopf.
Ist mir mittlerweile klar, wenn ich über BTN Stop die Kommunikation mit der Schnittstellenkarte abbreche,
läuft das Programm Spülen natürlich weiter und startet mit dem nächsten Timer event wieder neu.
Wie kann ich diese Functionen beenden ?
Mir fehlt sowas wie
EXIT FUNCTION : MDL_MESSUNG ! RUN_FUNCTION_MESSUNG
Eine Goto anweisung zum End function wäre schon genug, aber auch dafür fehlt mir die Syntax,
ich komme aus meinem FRM nich ins Modul
Wäre toll wenn Du mir einen Denkanstoss geben könntest
Beste Grüße Rudolf |
|
| |
|
 |
christopher.g Überflieger

Anmeldedatum: 03.05.2008 Beiträge: 565
|
Verfasst am: 18.10.2011, 13:16 |
|
|
hi
das einzige was mir einfallen würde ist folgendes
Public xAbbruch as boolean
btn... wie auch immmer Stop
xAbbruch = True
end Sub
Public Function wasweisich
und hier alle paar zeilen
if xAbbruch = True then exit Function |
|
| |
|
 |
Rudolf10000 Newbie

Anmeldedatum: 06.10.2011 Beiträge: 4
|
Verfasst am: 18.10.2011, 14:11 |
|
|
Danke, das funktioniert.
Da ich aber Schaltzustände zum Teil für 60 min aufrecht erhalte,
Und ich jede Menge solcher Module mit verschiedenen Programmen habe,
ist diese Lösung wenig praktikabel.
Ich dachte Anfangs, das wäre kein Problem..............
Ich muss mir wohl sowas wie ein Reset ausdenken.
Danke Dir nochmal |
|
| |
|
 |
|
|