Goto先は、制約なしに指定しも良いのでしょうか?
例えば
 If a=1 Then *JMP Else *jmp2
 .
 .
  If i=1 Then
*Jmp1
 ・
 ・
     If t=1 Then
*JMP2
  . 
  . 
     End If
 End If
上記の様に記述しても構わないのでしょうか?
よろしくお願いします
			
			
									
						
										
						Gotoの措定先
Re: Gotoの措定先
AB4.24で試してみたところコンパイルエラーにならなかったため記載することは可能でした。
しかし実行すると、
下記のケース1は問題ありませんでしたが、
下記のケース2はIの値が1以外にもかかわらず*JMP1に分岐されていました。
なのでこのような記載はやめたほうがよいと私は思いますが。
ご確認よろしくお願いいたします。
ケース1
DIM A AS Long
A = 2
IF A = 1 THEN *JMP1 ELSE *JMP2
*JMP1
MessageBox(NULL,"*JMP1","TEST",MB_OK)
END
*JMP2
MessageBox(NULL,"*JMP2","TEST",MB_OK)
END
ケース2
DIM I AS Long
DIM T AS Long
I = 2
T = 1
IF I = 1 THEN
*JMP1
END IF
IF T = 1 THEN
*JMP2
END IF
*JMP1
MessageBox(NULL,"*JMP1","TEST",MB_OK)
END
*JMP2
MessageBox(NULL,"*JMP2","TEST",MB_OK)
END
			
			
									
						
										
						しかし実行すると、
下記のケース1は問題ありませんでしたが、
下記のケース2はIの値が1以外にもかかわらず*JMP1に分岐されていました。
なのでこのような記載はやめたほうがよいと私は思いますが。
ご確認よろしくお願いいたします。
ケース1
DIM A AS Long
A = 2
IF A = 1 THEN *JMP1 ELSE *JMP2
*JMP1
MessageBox(NULL,"*JMP1","TEST",MB_OK)
END
*JMP2
MessageBox(NULL,"*JMP2","TEST",MB_OK)
END
ケース2
DIM I AS Long
DIM T AS Long
I = 2
T = 1
IF I = 1 THEN
*JMP1
END IF
IF T = 1 THEN
*JMP2
END IF
*JMP1
MessageBox(NULL,"*JMP1","TEST",MB_OK)
END
*JMP2
MessageBox(NULL,"*JMP2","TEST",MB_OK)
END
- 
				かえで
 
Re: Gotoの措定先
たかせ様、検証までして頂きましてありがとうございました!
If a=1 Then *JMP1 Else *jmp2
.
.
End If
------------------------------
If t=1 Then
If i=1 Then
*Jmp1
・
・
ElseIf i=2 Then
*JMP2
.
.
End If
End If
最初に質問させて頂いた例より今回の例の方が分かり安いかと、コンパイルしてもエラーにも成らないし実行も出来るのですが、スタックが溜まっていって関係のない所で原因不明のエラーが出るんじゃないかと思ったもんですから質問させて頂きました。
今現在は、下記の通り記述しています。
If a=1 Then i=1 Else i=2
t=1: Goto *jmp
.
.
End If
------------------------------
*Jmp
If t=1 Then
If i=1 Then
・
・
ElseIf i=2 Then
.
.
End If
End If
よろしくお願いします
			
			
									
						
										
						If a=1 Then *JMP1 Else *jmp2
.
.
End If
------------------------------
If t=1 Then
If i=1 Then
*Jmp1
・
・
ElseIf i=2 Then
*JMP2
.
.
End If
End If
最初に質問させて頂いた例より今回の例の方が分かり安いかと、コンパイルしてもエラーにも成らないし実行も出来るのですが、スタックが溜まっていって関係のない所で原因不明のエラーが出るんじゃないかと思ったもんですから質問させて頂きました。
今現在は、下記の通り記述しています。
If a=1 Then i=1 Else i=2
t=1: Goto *jmp
.
.
End If
------------------------------
*Jmp
If t=1 Then
If i=1 Then
・
・
ElseIf i=2 Then
.
.
End If
End If
よろしくお願いします