-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic SafeCall de
ClassicUO • Basic
Safe Call ist ein Kompatibilitätspräfix für einen normalen Aufruf. Es fügt weder Fehlerschutz noch Zeitlimit, Sperre oder Hintergrundausführung hinzu.
Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)
-
FunctionName— Name einer vorhandenen Prozedur/Funktion. Spielaufrufe benötigen UO.; eingebaute BASIC-Funktionen haben kein Präfix. -
arguments— Normale Argumente der gewählten Funktion. Klammern sind erforderlich. Zwischen Safe und Call stehen Leerzeichen.
Das ursprüngliche Funktionsergebnis wird zurückgegeben. Unit bedeutet weiterhin kein Wert; Safe Call wandelt das Ergebnis nicht in true/false um.
- Der Aufruf bleibt im aktuellen Skriptablauf mit normalen Regeln für Argumente, ByRef, Rückgabe und Abbruch. Es entsteht keine separate Aufgabe.
- Fehler werden nicht unterdrückt. Verwenden Sie Try/Catch; Safe Call allein ist keine Fehlerbehandlung.
- In RaiseEvent ist das Präfix unzulässig. Neuer Code kann normalerweise direkt FunctionName(...) verwenden. Dies ist Kompatibilitätssyntax dieser Engine, kein Standardkonstrukt von VB.NET.
# Sum erhält x=20 und y=22 und liefert 42. Safe Call verändert weder Ergebnistyp noch Zahl.
FUNCTION Sum(x, y)
RETURN x + y
END FUNCTION
SUB Main()
RETURN Safe Call Sum(20, 22)
END SUBErläuterung der Parameter und Ausführung:
Sum erhält x=20 und y=22 und liefert 42. Safe Call verändert weder Ergebnistyp noch Zahl.
# Val erhält "123" und liefert eine Zahl. Plus 7 ergibt 130. Val ist in BASIC eingebaut und benötigt kein UO.
SUB Main()
VAR text = "123"
RETURN Safe Call Val(text) + 7
END SUBErläuterung der Parameter und Ausführung:
Val erhält "123" und liefert eine Zahl. Plus 7 ergibt 130. Val ist in BASIC eingebaut und benötigt kein UO.
# Fail löst ausdrücklich einen Fehler aus. Catch fängt ihn ab und setzt caught auf TRUE (1). Ohne Try/Catch würde er weitergegeben. Der vollständige Code von Fail steht unten.
FUNCTION Fail()
THROW "sample error"
END FUNCTION
SUB Main()
VAR caught = FALSE
TRY
VAR value = Safe Call Fail()
CATCH problem
caught = TRUE
END TRY
RETURN caught
END SUBErläuterung der Parameter und Ausführung:
Fail löst ausdrücklich einen Fehler aus. Catch fängt ihn ab und setzt caught auf TRUE (1). Ohne Try/Catch würde er weitergegeben. Der vollständige Code von Fail steht unten.
ClassicUO - Bad Newbie & Basic IDE Edition