• ベストアンサー

定数の設定について。

こんにちは!WIN2000、VB6、SP5で開発しています。 仕事で今プログラミングしてるのですが、定数で困ってます。 悩んでるのは、 定数を宣言する標準モジュールがあって、 そこの定数にINIファイルから読み込んだ値を代入して、 どこからでも読み込めるようにする。 というところなのです。 Public Const gstrMoji = "文字列" このように宣言すると分かったのですが、 例えば下のように、INIファイルから読み込んで文字列を入れようとすると、 Public Const gstrMoji = iniFileLoad("テスト", "答え") iniFileLoadのところで、定数式が必要です。とエラーになってしまいます。 ちなみに、iniFileLoadっていうのは、別のモジュールに書いた関数式?を呼んでます。 登録や編集してるフォームではちゃんと動いてるので、 コード自体に問題があるわけじゃないと思ってます。 ためしに、フォームロードとかで定数を宣言してやろうとしたら、 ここでは宣言出来ません。みたいになって、どうしていいか困ってしまいました。 INIファイルから読み込んだデータを定数に代入する方法、 ご存知の方いらっしゃいましたら、どうぞご教授よろしくお願いしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

定数にこだわらず、普通にグローバル変数で設定するしかないですね。 標準モジュールで下記を設定 Public gstrMoji as string フォームロード時に内容を設定 Private Sub From_Load()  gstrMoji = iniFileLoad("テスト","答え") End Sub こんな感じかな? 場合により、Form_Loadじゃなくて、Sub Mainで内容設定してください。

KOHEI_JAPAN
質問者

お礼

やっぱり定数では、無理のようですね。 その方法がこのプログラムに一番合いそうです。 早速実践させていたが来ます。 ご回答ありがとうございましたm(_ _)m

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

定数に代入する式の中では、変数、ユーザー定義関数、Visual Basic の組込み関数は、使えません。

KOHEI_JAPAN
質問者

お礼

そんなに制限があるものなんですね。 それらが使えないということは、直接文字列を入力するしかないということですね。 ということは、定数にINIファイルのデータを入れるのは不可能ということですね……(--;) ご回答ありがとうございましたm(_ _)m

回答No.1

Const宣言しているgstrMojiに代入している からだと思われます。 Const修飾外すしかないですね多分。

KOHEI_JAPAN
質問者

お礼

Constをはずすということは、定数ではなくなるということですよね。 変数として代入するしかないと言うことでしょうか…。 なるほど、勉強になりますm(_ _)m

関連するQ&A