.iniファイルで絶対パスを相対パスに変換する方法は?


1
              Adviant
                 |

               Deluxe
                 |
32bit ----------------------- Forms

DeluxeとFormsの相対パスを設定する方法は?以下は.iniファイルです。Adviant、Deluxe、32bit、およびFormsは、上の図のフォルダーを表します


[Preferences]
ConnectionPref=0
PartnerOffers=1

[UninstallInfo]
ProgramFolder=Adviant Deluxe
RegFolder=Adviant Deluxe
InstDir=C:\Program Files\Adviant\Deluxe

[EngineOptions]
FormPath1=C:\Program Files\Adviant\Deluxe\Forms

[Cache]
Build=Yes

.iniファイル自体は32ビットフォルダー内にあります。

私は次を試してみましたがうまくいきませんでした

InstDir=..\..\..\Deluxe
FormPath1=..\..\Forms

とても簡単です!プログラムは、上記の.iniファイルの絶対パスで機能しました。絶対パスを相対パスに変換しようとすると、「フォームが見つからないため、プログラムを起動できません」と表示されました。

移植性のために絶対パスを相対パスに変換する方法を知りたい。

私にとって難しいのは、.iniファイルが32ビットフォルダーにあり、Deluxeフォルダーであるメインプログラムフォルダーにないことです。

この説明が物事を少し明確にすることを願っています。


他に誰か提案がありますか?フォワードスラッシュまたはバックスラッシュとドットのさまざまな組み合わせの両方を試してみましたが、機能しません。@ Tech1337、追加の提案はありますか?
アーマンカーター14

回答:


0
InstDir=../
FormPath1=../Forms/

それで修正されるはずです。それを試して、私に知らせてください。


私はそれを試してみましたが、まだ言っていました:フォームがありません。アプリケーションを起動できません...努力してくれてありがとう、感謝します。
アーマンカーター14年

実際に試してくださいInstDir = .. / FormPath1 = .. / Forms /
10100111001 14年

いいえ、機能しませんでした。同じエラー:フォームがありません。アプリケーションを開始できません。また、Windowsアプリケーションなので、どの組み合わせでもバックスラッシュを使用する必要があると思います。
アーマンカーター14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.