ab.com コミュニティ https://www.activebasic.com/forum/ |
|
SUB~END SUB/FUNCTION~END FUNCTIONの途中で抜け出すとき https://www.activebasic.com/forum/viewtopic.php?t=4622 |
ページ 1 / 1 |
作成者: | たかせ [ 2017年12月20日(水) 19:11 ] |
記事の件名: | SUB~END SUB/FUNCTION~END FUNCTIONの途中で抜け出すとき |
下記のサンプルプログラムTESTA.ABPの様に ①SUB~END SUBの途中で抜け出すときEXIT SUB命令であるべきところをEXIT FUNCTION命令を記載 ②FUNCTION~END FUNCTIONの途中で抜け出すときEXIT FUNCTION命令であるべきところをEXIT SUB命令を記載 上記①②のケースではコンパイルエラーになると思いましたが、問題なくコンパイルと実行ができました。 そこで確認したいのですが、これは仕様でしょうか? 特にこれといった問題は起きていませんが。 確認環境はWindows 7/SP1(X86) 確認バージョンはAB4.24とAB5/CP4とAB5/CP5 よろしくお願いいたします。 サンプルプログラム [ここをクリックすると内容が表示されます]
コード: TESTA.ABP /*********/ /* TESTA */ /*********/ TESTASUB() TESTAFUNC() MessageBox(NULL,"TEST END","TESTA",MB_OK) SUB TESTASUB() DIM A AS Long MessageBox(NULL,"EXIT FUNCTION","TESTA",MB_OK) EXIT FUNCTION 'コンパイルと実行問題なし A = 0 END SUB FUNCTION TESTAFUNC() AS Long DIM A AS Long MessageBox(NULL,"EXIT SUB","TESTA",MB_OK) EXIT SUB 'コンパイルと実行問題なし A = 0 END FUNCTION END |
作成者: | omasu [ 2017年12月21日(木) 19:20 ] |
記事の件名: | Re: SUB~END SUB/FUNCTION~END FUNCTIONの途中で抜け出すとき |
お世話になります。 64bit版コンパイラでもテストしてみました。 確かに正常にコンパイル→実行→抜け出していますね。 [ここをクリックすると内容が表示されます]
コード: #strict TEST_SUB() TEST_FUNC() SUB TEST_SUB() MessageBox(NULL,"SUB内EXIT FUNCTION1","SUB内EXIT FUNCTION1",MB_OK) EXIT FUNCTION MessageBox(NULL,"SUB内EXIT FUNCTION2","SUB内EXIT FUNCTION2",MB_OK) END SUB FUNCTION TEST_FUNC() AS Long MessageBox(NULL,"FUNCTION内EXIT SUB1","FUNCTION内EXIT SUB1",MB_OK) EXIT SUB MessageBox(NULL,"FUNCTION内EXIT SUB2","FUNCTION内EXIT SUB2",MB_OK) END FUNCTION END プロシージャ内の「EXIT」 は、なんでも機能する?・・・ FOR I=1 TO 10:xxxxx:NEXT みたいですね・・・ ちなみに"EXIT SUB"や”EXIT FUNCTION"を"EXIT A"や"EXIT B"、"EXIT"のみにするとエラーとなりました。 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |