1

私は Delphi によって開発された Stock プログラムを持っています。たとえば、Delphi グリッド オブジェクトの株価など、Stock プログラムからデータを読み取ることができるツールが必要です。

テスト中の Stock プログラムはソースに近いため、QTP/Robot インスペクターが必要とするソース コードを変更する機会はありません。使用している Delphi のバージョンがわかりません。オブジェクトも標準の Delphi コントロールではありません。

では、他のテクノロジーを使用してその Delphi プログラム オブジェクト データを検査することは可能でしょうか。

前もって感謝します。

4

2 に答える 2

1

Winsight のようなツールを使用してプログラム ウィンドウの構造を見つけ、FindWindow と EnumerateChildWindows を使用してコントロールを見つけることができます。次に、GetWindowText API を使用してコントロールのテキストを取得できます。これはほとんどのコントロールで機能しますが、すべてのコントロールで機能するとは限りません。たとえば、TLabel コントロールにはハンドルがありませんが、描画自体は行います。テキストを取得するためのハンドルがなく、WinSight に表示されません。これらのラベル テキストを取得するには、ウィンドウを OCR する必要があります。:p

しかし、この「テスト」は、私には「ハッキング」または「制御」のように聞こえます。使用されているコントロールの種類と使用されている Delphi のバージョンさえわからない場合、なぜこのプログラムをこの方法でテストするのですか?

于 2011-06-02T09:40:42.763 に答える
0

Delphi グリッド コントロールからデータを読み取ろうとしてもうまくいきません。これは、GetWindowText を呼び出すだけの標準的な Windows 編集コントロールとは異なります。

この既存のプログラムから本当に情報を取得したい場合は、その内部メモリを突くか、スクリーン グラブで OCR を実行する必要があります。熟考するのはかなり恐ろしいことです。

于 2011-06-02T11:38:30.117 に答える