0

アイコンとビットマップのハードコードされたパスを含むfoxproアプリがあります。それがfoxproのやり方であり、それを回避する方法はありません。リムーバブルドライブが使用されているが接続されていない場合、および接続されている場合にウィンドウがハードコードされたパスと同じ文字を割り当てる場合を除いて、これは正常に機能します。そのようなパスを含むフォームを開くと、次のエラーメッセージが表示されます(FROM WINDOWS、キツネではありません):

Windows-ディスクなし例外処理メッセージc0000012パラメータ....。

助けてくださいネルソンマーモル

4

7 に答える 7

2

ネルソン:

「それが foxpro のやり方であり、それを回避する方法はありません」?

FoxPro 2.5 から Visual FoxPro 9 まで FOX を使用していますが、パスをハードコードすることを強制されることは決してありません。ファイルであるため、このリソースを外部に含める必要はありません。

あなたは「Foxpro アプリ」を持っていると言っていますが、どのバージョンですか? 古い MS-DOS FoxPro または Visual FoxPro? VFP 8+ を使用している場合は、SYS(2450, 1) を使用できます。

Specifies how an application searches for data and resources such as functions, procedures, executable files, and so on. 

You can use SYS(2450) to specify that Visual FoxPro searches within an application for a specific procedure or user-defined function (UDF) before it searches along the SET DEFAULT and SET PATH locations. Setting SYS(2450) can help improve performance for applications that run on a local or wide area network.


SYS(2450 [, 0 | 1 ])



Parameters
0 
Search along path and default locations before searching in the application. (Default)

1 
Search within the application for the specified procedure or UDF before searching the path and default locations.

簡単な回避策の 1 つは、ディスク マネージャーを使用して別の文字を USB に割り当てることです。

于 2008-09-11T13:06:46.460 に答える
0

いいえ、アプリでフォームなどを配布することはありません...これはexeです。EXEが圧縮され、 KONXIZE1.0で難読化されていることを忘れました。

于 2008-09-25T13:16:53.623 に答える
0

アプリケーションが実行時にアイコン ファイルへのパスを決定できると仮定すると、フォームのロード イベントで、次のようにアイコンを設定できます。

THIS.Icon=<path to file>
于 2009-07-19T19:54:28.453 に答える
0

フォーム/レポート/ラベルなどをクライアントに配布しているように思えます。EXE をビルドする場合、VFP はリソース (この場合はアイコン) を exe に埋め込み、実行時にそれを抽出する方法を知っているため、「パス」の問題は発生しません。

ピーターソン

于 2008-09-15T14:15:52.080 に答える
0

他の誰かがこれに出くわした場合は、通常、[プロパティ] ウィンドウの Icon プロパティに次のように入力して、強制的に評価することができます。これにより、パスの自動入力が防止される可能性があります。

="icon.ico"

icon.icoの代わりに。

于 2009-11-06T03:20:41.513 に答える
0

@PabloG に同意します。FoxPro (Dos と Windows) を使用してから 10 年以上経ちますが、FPW2.6 に戻っても、アプリがどこから実行されているかを特定し、絶対または相対検索パスを設定し、リソースを「コンパイル済み」(heh) exe に直接変換します。すべてのリソースはアプリ フォルダー内の特定のサブフォルダーにあり、データベース ファイルもアプリ フォルダーの下の別のサブフォルダーにありました。私が覚えているように、すべてに相対パスを使用しました。

問題についてもう少し詳しく教えていただけますか?

それが役に立つと思われる場合は、この種のことを行っている FPW2.6 コードの一部を掘り下げてみることができます。:-)

于 2008-09-11T13:23:02.317 に答える
0

それはVFP8であり、私が正しく説明していなかったら申し訳ありません。また、「仕方がない」というと響きが悪いと思います。私が意味したのは、フォームのプロパティ「 ICON 」です。コンポーネントの種類ごとにフォルダー (フォーム、レポート、メニュー、アイコンなど) に分けているため、パスを相対パスにしようとすると、次にファイルを編集するときに foxpro にフルパスが含まれます。この問題は最近発生し、クライアントがバックアップの手段として外部 USB ドライブを使用し始めたことがわかりました。

于 2008-09-11T14:42:37.930 に答える