VB6.0 SP6
WinXP SP3
いつもお世話になります。
循環参照エラーが発生します。
プロジェクトの内容として
・basDefin.bas
⇒public constやpublic変数を纏めています。
・basStruct
⇒public Typeを纏めています。
・basPublic
⇒public関数を纏めています。
public Typeで構造体を作る際にbasDefineのpublic constを参照したり、
public変数を定義する際にbasStructを参照したりしています。
その場合に、全く同じコードでも循環参照のエラーが発生したり、しなかったりします。(ここは非常に解せないのですが。)
コンパイルをする順序を指定できるのでしょうか?
どのような順序でコンパイルされているか全く分かりません。
C言語で言う[include]のような構文があれば理解しやすいのですが…。
そもそも、上記のようなモジュール構造にしない方が良いのでしょうか?
定義のモジュールは一つに纏めた方が良いのでしょうか?
以上です。よろしくお願いします。
# 久しぶりに書き込みます。
単純に、変数を置く場所を変えるとか。
このような分け方ならば、関数と同じモジュールにするのが無難かと。
ワクワクを思いだんすんだ
K.J.K.さん、お返事ありがとうございます。
定義モジュールをもっと分割して考えるようにしました。
私の書いていたモジュール構造では例えIncludeのような構文があっても実現できませんね(汗
basDefine
⇒const、Enumでまとめる
basStruct
⇒Typeでまとめる
basPublic
⇒public関数のみ
basGlobal
⇒basStructやbasDefineで定義しているものを使用しグローバル変数を定義する
basGlobalを作ったことにより循環参照はなくなったかなと思います。
循環参照が起きたり、起きなかったりと言った解せない現象は何故だか分かりませんが、とりあえず解決とします。
ツイート | ![]() |