Hallo Bascom-User,
ich habe zwei kleinere Verständnisprobleme im Umgang mit Declare Subs und string-Übergabe. (Siehe Beispiel-Schnipsel)
Habe dazu keine Erläuterungen/Hinweis finden können.
Bisher bin ich davon ausgegangen, dass bei Declare Subs keine Rückgabe von Variablen aus den Subs möglich ist, dies ist lediglich via Function gegeben.
1.) Im Beispiel wird jedoch die Variable „Signal“ aus der Sub ins aufrufende Programmteil zurückgegeben, oder sehe ich das falsch.
2.) Obwohl die Variable „Signal“ als /string*1/ definiert wurde, wird sie doch als beliebig lange Stringvariable zurückgegeben
Wie kann ich mir dies erklären?
Alles anzeigen
ich habe zwei kleinere Verständnisprobleme im Umgang mit Declare Subs und string-Übergabe. (Siehe Beispiel-Schnipsel)
Habe dazu keine Erläuterungen/Hinweis finden können.
Bisher bin ich davon ausgegangen, dass bei Declare Subs keine Rückgabe von Variablen aus den Subs möglich ist, dies ist lediglich via Function gegeben.
1.) Im Beispiel wird jedoch die Variable „Signal“ aus der Sub ins aufrufende Programmteil zurückgegeben, oder sehe ich das falsch.
2.) Obwohl die Variable „Signal“ als /string*1/ definiert wurde, wird sie doch als beliebig lange Stringvariable zurückgegeben
Wie kann ich mir dies erklären?
BASCOM-Quellcode
- '------------------------------------------------------------------------------
- 'Declare Test mit strings
- '------------------------------------------------------------------------------
- '
- $regfile = "m328pdef.dat" '
- $crystal = 16000000
- $baud = 9600
- $hwstack = 64
- $swstack = 64
- $framesize = 64
- $sim
- Dim Signal As String * 1 'versuchsweise auf 1 definiert
- Declare Sub Meintest(s As String)
- Do
- Signal = "" 'Signal als Leerstring
- Meintest Signal
- Print Signal
- Stop
- Loop
- End
- Sub Meintest(s As String)
- S = "test-test-test-test"
- End Sub