『メニューコントロール配列にはインデックス番号が必要です』

解決


ユーリン  2003-05-03 21:05:27  No: 107019  IP: [192.*.*.*]

メニューエディタで、メニューを次のように作成しました。

ファイル
 …新規作成 
 …- 
 …終了
編集 
 …切り取り 
 …コピー 
 …-

この後『OK』をクリックすると、

『メニューコントロール配列にはインデックス番号が必要です』
というメッセージダイヤログボックスが表示されます
(MSDNをインストールしていないので、ヘルプは見れません)。
どのように作成すればエラーがなくなるでしょうか。
どうかよろしくお願いします。

編集 削除
たかみちえ  URL  2003-05-03 21:32:36  No: 107020  IP: [192.*.*.*]

それはメニューコントロール配列(同じ名前を持つメニュー項目が二つ以上あり、まるで配列変数のように管理できる状態)を作るには、
インデックス番号をつけなくてはいけないといっているだけです。
  なので、それはエラーではありません(操作を阻害するので、エラーっちゃあエラーですが^^;)。

  コピーしてクリップボードに送ったメニュー項目には、
大体はすでにある項目と同じ名前がもうついていますよね?
だから、『同じ名前のメニューが二つある→コントロール配列だ→インデックス番号がいる』
という具合になったわけです。

  たぶん今回の場合、コントロール配列にすることを望んでいませんね?
  でも、VBはそこまで気が利かないので、新しくメニュー項目を追加し、
設定してやるしかないんです。

編集 削除
たかみちえ  URL  2003-05-03 21:36:17  No: 107021  IP: [192.*.*.*]

あ、なんか違いますね、ごめんなさい、よく読んでませんでした。

とにかく、コントロール配列とは上のようなものなので、
同じ名前のついた項目(コントロール配列とみなされる)が二つ以上あるときには、インデックス番号がないといけないんです。

  たぶん、メニューのうちどれか、同じ名前がついている項目が、
二つ以上あるんじゃないですか?
  それを二つ、違う名前にしてあげるか、両方にインデックスとして、
違う番号をつけてあげてください。

編集 削除
ユーリン  2003-05-04 10:34:50  No: 107022  IP: [192.*.*.*]

たかみちえさん、ありがとうございます。
『新規作成』と『終了』の両方に

IDMNew

という名前をつけていました。
『終了』のほうに IDMEnd という名前をつけてやると、
エラーが出なくなりました。
前回同様、すごく基本的な問題だったかも知れませんが、
まだ始めて日が浅いので、ちょっとのことでつまずいてしまいます。
これからもよろしくお願いします。ありがとうございました。

編集 削除