2012-04-24 13 views
3

私は50のフォームと多くのモジュールで大きな視覚的な基本6プロジェクトを持っています。私はフォームを開いたときに、そのフォームで使われているいくつかの変数/関数がそこに由来していないことがわかりました。それで、どのようにすれば、すべてのコードを通過することなく、最初に書かれた場所を知ることができます。大きな視覚的な基本プロジェクトで変数や関数の起源を見つける方法

ありがとうございます。

答えて

-1

This may be helpful to you。私は何を見つけることができますVSは、プロジェクトの検索機能を持っていません。もし私が誤解していて実際にそれを持っているのであれば、それを代わりに使ってください。

+1

VB6はVisual Studioではサポートされていません。独自のIDEを使用します。 – Deanna

+0

-1。 Deannaが言ったように、この答えは別のIDE(Visual Studio 2010?)です。 OPはVB6のアドバイスが必要です – MarkJ

0

おそらく、グローバルスコープの変数です。 global.basという名前のファイル(または拡張子が.basのファイル)を探し、そこに変数が宣言されているかどうかを確認します。

関数は、.basファイルのグローバルスコープで宣言することもできます。それらは、VB6がオブジェクトプログラミングの独自の風味で採用した.clsファイルと区別するために、一般に「モジュール」と呼ばれていました。 Win32 APIの関数宣言もそこにあります。

+0

実際には静的なモジュールです*他のほとんどのモジュールと違って、その中にあるものはすべて、プログラムの寿命の間静的にロードされた単一のコピーを持っています。マルチスレッドのActiveX EXEを使用している場合(各スレッドはコードではなく静的データのコピーを取得する)、スレッドローカルストレージは「コピー」されます。 – Bob77

+1

すべてが真ですが、OPは変数と関数の宣言が存在するファイルを検索しようとしていました。ちょうどそれを単純なままにしようとしました...この時点で彼はVB6アプリケーションのスレッドローカルストレージにあまりにも遠くまで潜り込んでいるとは思わない:) –

8

IDEでプロジェクトを開きます。関心のある変数、関数などのオカレンスを見つけて右クリックし、の定義を選択します。これはあなたをそこに連れて行くはずです。

+3

これのキーボードショートカットは[Shift] + [F2]です。 – JeffK

5

後ろの定義SHIFT + F2は、小さなプロジェクトで作業するときに使用するものです。ただし、実力を必要とする場合は、MZ ToolsまたはAgent Ransackをダウンロードしてインストールしてください。私は個人的にMZ Toolsを使用しています.VB6には、変数やメソッドなどの出現箇所を見つけるなど、素晴らしい機能がいくつかあります。

MZ Toolsも無料でご利用いただけます。ご希望の場合は寄付することもできます。

+0

+1。やや狭い: "goto definition"は、大小の任意のサイズのプロジェクトに役立ちます。しかし、MZ Toolsの場合は+1、VB6の場合は*必須の無料アドインです。 BTW私はリンクを追加するあなたの答えを編集しました。 – MarkJ

+0

ありがとうございます。私が言っていたことは、あなたが大規模なプロジェクトを持っていれば、早期および後期の参照が混在している可能性があり、定義に移動するのがはるかに難しいということでした。 MZ Toolsを使用すると、テキストマッチングに基づいてすべての参照が検索され、IDEはそれを判断できません。これは、ReSharperが.NETでどのように動作するかに似ています。 –

+0

MZツールの "find all references"はすばらしいです。しかし、私はあなたのコメントをよく理解していません。 Late-bindingは、変数が 'As Object'の大きさであることを意味します。 IDEの "定義に移動"コマンドの動作には影響しません。これにより、変数宣言行が表示されます。 「定義に移動」コマンドは参照にはなりません。それは定義に行きます。 – MarkJ

1

シフト + F2は大きなプロジェクトでも私のために働いています。

関連する問題