ab.com コミュニティ https://www.activebasic.com/forum/ |
|
Gotoの措定先 https://www.activebasic.com/forum/viewtopic.php?t=4630 |
ページ 1 / 1 |
作成者: | かえで [ 2019年6月12日(水) 11:48 ] |
記事の件名: | Gotoの措定先 |
Goto先は、制約なしに指定しも良いのでしょうか? 例えば If a=1 Then *JMP Else *jmp2 . . If i=1 Then *Jmp1 ・ ・ If t=1 Then *JMP2 . . End If End If 上記の様に記述しても構わないのでしょうか? よろしくお願いします |
作成者: | たかせ [ 2019年6月12日(水) 19:54 ] |
記事の件名: | 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 |
作成者: | かえで [ 2019年6月15日(土) 16:42 ] |
記事の件名: | 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 よろしくお願いします |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |