プロが教える店舗&オフィスのセキュリティ対策術

他人様の作成したプログラムの改修をやることになりましたVB初心者です。

デザイン画面でコードを選択し、「定義」を右クリックすると
「'xxx' は非表示であるため、ここへはジャンプできません。」
と表示されます。
また、exe ファイルの実行時と比べて、プロジェクトウインドウに表示されるフォームやデザイナも少ないです。

これら非表示のモジュール(?)を表示するにはどのようにやればいいのでしょうか。
ご教示お願いいたします。

環境は Windows XP(SP3), Visual Basic 6.0 (SP6) です。

「VB6で、非表示モジュール(?)の表示方」の質問画像

A 回答 (15件中1~10件)

(1)


このプロジェクトを実行すると、exeファイルと同じように
機能しますか?


(2)
>プロジェクトエクスプローラ内にないフォーム・デザイナも表示されます。
このフォームデザイナをクリックするとフォームの
デザインビューが表示されますか。示された
フォームのヘッダには ファイル名(Form) のように
表示されていますか。
また、プロジェクトエクスプローラには
ファイル名(ファイル名.frm)
のように表示されていますか。


(3)
(2)が違う場合、
ファイル名(ファイル名.dsr)
のような名前になっていませんか。


(4)
(2)、(3)も違う場合はフォルダの中にある他の
ファイルの拡張子はどのようなものがありますか。

この回答への補足

(1) はい、exe と同じように動作します。

(2) はい、フォームのデザインビューが表示されます。
フォームのヘッダには frmINIT (Form), frmREPORT (Form) のように表示されます。
プロジェクトエクスプローラには frmINIT (frmINIT.frm), frmREPORT (frmREPORT.frm) のように表示されています。

(3) 「デザイナ」フォルダの中には 5 つ、repKAISEKI01 (repKAISEKI01.Dsr) のようなファイルがあります。

(4) .frm, .bas, Dsr です。

補足日時:2011/07/28 18:04
    • good
    • 0

iniファイルもそうですが、最初から作成して


おくものか、あるいは新規インストールした場合に、
いずれかのタイミングでプログラムから作成
されるものか、なければ作成されるものか、
あるいは、都度作成、削除が
されるものか、そういったファイルが他に
存在するかも確認が必要です。

必要に、応じては一時ファイルとして作成する
コードの追加が必要になるかもしれません。

意地悪く突然そうしたファイルが失われると
どうなるか、またどう対応するかの負荷テスト
も必要です。


そのためのロールプレイングとも言えますが。
    • good
    • 0
この回答へのお礼

ご回答、恐れ入ります。
おっしゃられることを頭に入れてテストしてみます。

ご忠告ありがとうございました。

お礼日時:2011/07/29 16:29

>iniファイルがあったので、それを新しいフォルダ


>にコピーしたら正常動作しました。

一応、一通りロールプレイングをして、
問題がないか、確認が必要です。
他にリンクが切れているものが
出る可能性もあるので、あとの
作業は慎重にしてください。
    • good
    • 0
この回答へのお礼

はい、慎重に一通り動かしてみます。

お礼日時:2011/07/29 15:35

>「.Show」でプロジェクト全体を検索しました。


>検索結果が(あるべき)フォーム数より少なかったです。
その方法は対象がフォームで通常のコマンドで表示している場合には
有効ですが、今は状況もよく把握できない状態です。通常の手法とは
違う可能性があるのですから、それで調査できているとは言えません。

例えば、
> C:\Program Files\AReport15\ActRpt15.dll
ActiveReport を使っているのですから、レポートの表示は
 ActiveReport1.Run
とかになります。「.Show」では検索できません。
実際にフォームを見比べて、プロジェクトに存在しないと言っている
画面を表示させる部分のプログラムで何をしているかを確認して下さい。

この回答への補足

ActiveReport のコードを ReportStart を重点的に読みました。
プロジェクトに存在しないフォームへのコードはありませんでした。

すみません、初心者丸出しで。
お付き合いいただきありがとうございます。

補足日時:2011/07/29 14:52
    • good
    • 0

確認のため:



元のプロジェクトと比べて、入れなおしたプロジェクト
のプロジェクトエクスプローラとフォルダにあるファイル数は
変化していますか。


元のプロジェクトにあるフォルダのファイルで、Excel、テキスト、
CSV、フォルダなど他のファイルは存在していませんか。





>「実行時エラー '9': インデックスが有効範囲内にありません。」
変数uvlng_AnaLCDataPriを取得する参照先がプロジェクトに存在
するか検索で確認してみてください。

この回答への補足

> 元のプロジェクトと比べて、入れなおしたプロジェクト
> のプロジェクトエクスプローラとフォルダにあるファイル数は
> 変化していますか。

はい、.DCA, .dsx, .frx, MSSCCPRJ.SRC, VB2(~7).tmp ファイルが増えました。

> 元のプロジェクトにあるフォルダのファイルで、Excel、テキスト、
> CSV、フォルダなど他のファイルは存在していませんか。

存在していません。

> 変数uvlng_AnaLCDataPriを取得する参照先がプロジェクトに存在
> するか検索で確認してみてください。

取得時の値が、元の版と新しいフォルダ版で違っておりました。
同じデータを解析しているのに、なぜ・・・。

補足日時:2011/07/29 13:39
    • good
    • 0
この回答へのお礼

> > 変数uvlng_AnaLCDataPriを取得する参照先がプロジェクトに存在
> > するか検索で確認してみてください。
>
> 取得時の値が、元の版と新しいフォルダ版で違っておりました。
> 同じデータを解析しているのに、なぜ・・・。

iniファイルがあったので、それを新しいフォルダにコピーしたら正常動作しました。
お騒がせしました。

お礼日時:2011/07/29 13:50

>ActiveXファイルが存在しているはずですが。


参照設定してると思うんだけど、そうであれば参照設定画面で表示
される物理パスで確認できるのでは?

>> 同じフォームを使いまわすだけでもそんな動きを作れるわけで、
>コードを見たところ、動的にコントロールを作成するようなコードはありませんでした。
コントロール?画面はフォームですよね?
exe ファイルの実行時に表示される画面は、ボタンをクリックとか
で表示されるものですよね?それがプロジェクトに見つからないと
言っているように解釈したのですが、フォームを起動する場所も
見つからないのですか?(フォームを起動するイベントも書かれていない?)
それは無いと思うのですが。。。
そこに書かれているオブジェクト名でオブジェクトブラウザを検索
(定義へ移動ではなく、手入力で検索)した結果を見れば、何か分かる
気がしますが。

この回答への補足

> >ActiveXファイルが存在しているはずですが。
> 参照設定してると思うんだけど、そうであれば参照設定画面で表示
> される物理パスで確認できるのでは?

C:\Program Files\AReport15\ActRpt15.dll
です。

> exe ファイルの実行時に表示される画面は、ボタンをクリックとか
> で表示されるものですよね?

はい。

> それがプロジェクトに見つからないと
> 言っているように解釈したのですが、フォームを起動する場所も
> 見つからないのですか?

「.Show」でプロジェクト全体を検索しました。
検索結果が(あるべき)フォーム数より少なかったです。

いろいろ惑わせてすみません。もう少しお付き合いお願いいたします。

補足日時:2011/07/29 13:12
    • good
    • 0

dca  ActiveX デザイナ キャッシュ


dsx  Active デザイナ バイナリ ファイル
frx  バイナリ フォーム ファイル
vbw  Visual Basic プロジェクト ワークスペース ファイル


したがて、ActiveXファイルが存在しているはずですが。

No8の要領で、プロジェクトから追加できるファイルはすべて
追加してみてください。

この回答への補足

なんども回答ありがとうございます。

はい、ActiveX を使っております。

プロジェクトエクスプローラー内のファイルを全て解放して、追加しなおしました。
今度は動作中に「実行時エラー '9': インデックスが有効範囲内にありません。」が表示されます。
rvtyp_NowAnaRec.mdat_AEday = uatyp_AnaLCData(uvlng_AnaLCDataPri - 1).K_DSOKUTEIBI
のuvlng_AnaLCDataPri が 0 のままで初期化されていないです。

補足日時:2011/07/29 11:21
    • good
    • 0

もし、単にフォルダオプションで


隠しファイルおよび隠しフォルダを表示しない、
などにチェックが入っている、ということは
ないでしょうね?

この回答への補足

それは大丈夫です。

補足日時:2011/07/28 19:21
    • good
    • 0

もし、No7の操作で新しいフォルダに


ファイルが今までよりも増えていたら、

No7の最後、

>(1)、(2)を実行してフォルダの中身と、プロジェクトを
>立ち上げてプロジェクトエクスプローラの中身を
>比較してみてください。

ではなく、一度あたらしいフォルダのプロジェクトの
プロジェクトエクスプローラのオブファイルをを一度
すべて解放して、あたらしいフォルダにあるファイルを
追加してみてください。

この回答への補足

今日は時間がきましたので、明日実行してみます。

いろいろお付き合いいただいて恐縮です。
明日もよろしくお願いいたします。

補足日時:2011/07/28 19:29
    • good
    • 0

一度、



(1)
新規に他のフォルダを作っておき、
ファイルから「名前をつけてプロジェクトの保存」
を選択し、そのままの名前で保存。

(2)
プロジェクトエクスプローラにあるオブジェクトの
上で右リックから「名前をつけてxxの保存」を選択し、
(1)と同じフォルダにすべて保存。


(1)、(2)を実行してフォルダの中身と、プロジェクトを
立ち上げてプロジェクトエクスプローラの中身を
比較してみてください。

この回答への補足

フォルダの中には、.DCA, .dsx, .frx, ,vbw ファイルができましたが、これは違いますよね?

補足日時:2011/07/28 19:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A