|
▼でれすけ さん:
再度の投稿、ありがとうございます。
>>私の経験では、こういうときは変数が初期化されます。
>>↑このご経験、別の事象の「変数の初期化」を探る時に参考になりそうです。
>いえ、まさにこの事象もこれにあてはまると考えているのですけど...
はい、確認しております。
といっても、でれすけさんの前回の投稿で初めて現象が確認できたのですが。
しかも、次回にも参考になる内容です、と言う意味で申し上げたんですが・・。
実際、今回、ステップインで実行させてみようなんて発想になりませんでしたから。
(プログラムが止まったときなどは使ってますが・・)
>ステップ実行して、このようなメッセージがでるということは、マクロが自分自身を書き換えて
>プロジェクト、すなわち、ソースコードに決定的な変更が加えられている
>ということですよね。
>もし実行形式のプログラムをつくっているのならば、リコンパイルしなくちゃいけないような変更ですね。
おっしゃる事はよくわかりますし、実際には、フォームのボタンに代替しています。
以前にも内容は違いますが、この「バグ」というキーワードで意見交換させて頂いたことがありました。
>変数の値を保持しているというのは、実行状態が継続しているということですが、
>今回のような場合、「バグ」というより、そのようなプログラムの変更を加えて
>おきながら、実行状態をそのまま続けておくというのが無理な相談なのでは
>無いかと思います。
仮に今回の事象が「バグ」でないのなら、つまり、将来、修正される見込みがないのであれば、おっしゃるとおりだと思うのですが、
もし「バグ」であるならば、Addメソッドを実行したときに実行状態が終了してしまう
というバグであり、本来なら実行状態が維持されるはずだということになれば、
「私が仕様変更を迫られるのではなく、ベンダーがバグを早く直すべきだ」という思いが頭を擡げてきてしまいます(現実には、待ってられないという事情もありますから、実際の処理方法は思いとは違ってしまいますが・・・)。
バグならば「コントロールツールバー」から「フォーム」に変えるのではなく、
「コントロールツールバー」での応急処置を施し、修正されたらコードを元に戻す。
今後のため、その応急処置の模索が投稿のひとつの理由でした。
よって、「バグ」か否かが私にとって、大きな問題でもありました。
でも、でれすけさんが再度強調された点、それから、皆さんのご意見をヒントに見つかったと思われた方法、再度検証して見るつもりです。
簡単な事例では取りあえず、動いていますが、コード量が多いものに取り入れた場合、
でれすけさんが言われた事が原因で例えば(強制終了)なんていう現実が見えてくるかもしれません。
でれすけさん、的確なご指摘、本当にありがとうございました。
|
|