VB6 アプリケーションをコンパイルしようとしていますが、「実行時エラー '91': オブジェクト変数またはブロック変数が設定されていません」というエラーで失敗します。コンパイル中にユーザー コントロールの Resize イベントが発生し、まだインスタンス化されていないオブジェクトにアクセスしようとするコードが呼び出されることが判明しました。
コンパイル中にイベントが発生するのはなぜですか?それを停止する方法はありますか?
編集:ここにいくつかのコードがありましたが、関係ありません。この問題は、UserControl コード (つまり、Initialize、ReadProperties、Resize、および WriteProperties イベント) が予期しない時間に実行される可能性があるという事実から発生します。これらのイベントのコードが他のコードに依存してデータ構造を初期化する場合、その初期化コードが実行されていない可能性があるため、失敗する可能性が高くなります。特に何も実行されていないはずのコンパイル中に!私はこれをバグと呼んでいますが、マイクロソフトは何らかの方法でそれを合理化できると確信しています。