Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Rudolf10000
Newbie
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
Ü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
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
Ü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
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
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: sub, läuft, beende, anderem

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1106 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1308 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1022 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1214 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.0645s ][ Queries: 92 (0.0275s) ][ GZIP on - Debug on ]