| |
VB Skript (VBS)Wartet Sub-Programm, wenn ich in ihm eine Funktion aufrufe? | | | Autor: Bert_XL | Datum: 14.07.11 14:18 |
| Hallo zusammen,
ich bin zur Zeit am VBS Programmieren und habe nun mal eine allgemeine Frage:
ich rufe in einem Sub-Programm eine Funktion auf. Wartet nun dieses Sub bis er den Rückgabewert der Funktion erhalten hat oder läuft dieses Parallel weiter? Ich denke ich habe nämlich einige Timingprobleme...
Wie ist es wenn ich ein Sub-Programm in einem anderen Sub-Programm aufrufe? Was kann man tun damit das Programm auf den Rückgabewert wartet?
bin leider kein Profi in VBS, habe grade erst angefangen und freue mich schon auf antworten...
viele Grüße
Bert
Beitrag wurde zuletzt am 14.07.11 um 14:19:31 editiert. | |
Re: Wartet Sub-Programm, wenn ich in ihm eine Funktion aufrufe? | | | Autor: Bert_XL | Datum: 14.07.11 14:43 |
| vielen dank für die schnelle antwort. also hier mal ein kurzer ausschnitt aus dem Programm:
sub Prog_calc()
...
If SmartTags("Programm_1")= Tool_No Then
SmartTags("Prog_1") = Prog_LoadName (SmartTags("Programm_1"))
End If
If SmartTags("Programm_2")= Tool_No Then
SmartTags("Prog_2") = Prog_LoadName (SmartTags("Programm_2"))
End If
If SmartTags("Programm_3")= Tool_No Then
SmartTags("Prog_3") = Prog_LoadName (SmartTags("Programm_3"))
End If
If SmartTags("Programm_4")= Tool_No Then
SmartTags("Prog_4") = Prog_LoadName (SmartTags("Programm_4"))
End If
'usw...
end sub
also ich rufe in dem Sub-Programm "Prog_calc" die Funktion "Prog_LoadName" öfters auf. Mein Problem ist nun, dass mehrere dieser If-Anweisungen wahr sein können, wenn die verschiedenen "Programme_x" den gleichen Wert enthalten. Als Ergebnis wird nun entweder mal ein Name nicht richtig zugewiesen oder ein Programm übersprungen usw...
ich denke das mein Sub-Programm nicht wartet bis der Funktionsaufruf beendet ist und schon weiter springt zur nächsten If-Anweisung, ist das richtig? wie kann ich das ändern? | |
Re: Wartet Sub-Programm, wenn ich in ihm eine Funktion aufrufe? | | | Autor: Bert_XL | Datum: 14.07.11 15:30 |
| mit dem Befehl Smarttags("xy") lese ich einfach nur einen Wert aus der Steuerung, aus der SPS. (ist glaub ich eine Systemfunktion)
die Funktion "Prog_LoadName" ist ein von mir geschriebene Funktion, die eine Abfrage enthält und dann einen Namen aus einem Speicherbereich herausliest.
hier das Programm "Prog_LoadName":
Function Prog_LoadName(ByRef ProgNR)
If ProgNR = 0 Then
Prog_LoadName = 0
Else
Call LoadDataRecord(1, ProgNR, Null)
Prog_LoadName = SmartTags("Tool_name")
End If
End Function | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|