ab.com コミュニティ
https://www.activebasic.com/forum/

コメント中の文字に因り、処理過程に影響を及ぼす
https://www.activebasic.com/forum/viewtopic.php?t=2679
ページ 11

作成者:  ベーやん [ 2011年6月19日(日) 18:12 ]
記事の件名:  コメント中の文字に因り、処理過程に影響を及ぼす

何時も、お世話に成っています。

 行単位での注釈中に"/*"を入れたら以降のプロシージャの名前が認識されない。
但し、"*/ ~ /*"を対で使用する場合は、この限りでない!!
宜しくお願いします。

作成者:  たかせ [ 2011年6月19日(日) 20:06 ]
記事の件名:  複数行に渡るコメント

/*を検出した時、*/が見つかるまでのすべてがコメントアウトとみなされます。
だから上記の結果になって当然です。
ABのヘルプに以下の記載がありますのでご確認下さい。


複数行に渡るコメント
/* ~ */ で囲まれた範囲の文字列は、すべて注釈と見なされます。複数行に渡るコメントアウトも可能です。

/* 注釈文1
注釈文2
注釈文3 */

Print /*コマンド行の途中もコメントアウトできます。*/ "test"
備考
"/*" 及び "*/" は、ネスト構造ではありません。コンパイラは、バッファ中から "/*" を識別すると、"*/" が現れるまでサーチを行います。よって、"/*" と "*/" の間に "/*" や "'" などの注釈記号が含まれていたとしても、それらはコメントアウトの対象と判断されます。

作成者:  ベーやん [ 2011年6月20日(月) 00:45 ]
記事の件名:  行単位での注釈

件名は、こちらの方が正しいですね。

>/*を検出した時、*/が見つかるまでのすべてがコメントアウトとみなさ>れます。
 複数行に渡るコメントの場合は、その通りでしょう。

>ABのヘルプに以下の記載がありますのでご確認下さい。
 [行単位での注釈]
「アポストロフィー(')を指定します。改行までが注釈文となります。」
と、在ります。
 よって、アポストロフィー(')以降は、如何なる文字やコマンドも処理過程に一切影響を及ぼさないため、注釈文として活用できる筈ですが。

作成者:  たかせ [ 2011年6月20日(月) 12:51 ]
記事の件名:  アポストロフィー(')に気が付きませんでした

アポストロフィー(')に気が付かなくて大変申し訳ありませんでした。

テストしたところ
●該当箇所の"'ファイル読込(ab_*.sbp/*.txt)"以降のコードがコメントとして認識されているようです。
●だからCommandButton2をクリックしても当然動作しません。
●さらにウインドーを閉じてもウインドーを閉じた時の処理も認識されていないのでプログラムは実行中のままです。タスクマネージャーで確認しました。これは修正してコンパイルしたときに「出力ファイルの書き込みに失敗しました。実行されている可能性があります。」とメッセージが表示され判明したのです。

なので現在の対応として /* */とアポストロフィー(')を隣接した箇所で使用しないほうがよいと思います。 ●2011年06月21日(火) 記事を修正しました。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/