掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スペースの入ったパス名を渡すには? (ID:23838)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphiで作ったプログラムから他のプログラムを、データファイルのファイル名を引数にして起動しています。 bo := CreateProcess(PChar('C:\Program Files\Wcalc\Wcalc.exe'), Pchar(TmpDir + Directoryname + StringGrid1.Cells[1,Arow] + StringGrid1.Cells[2,Arow] + '.jdt'), nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, SI, PI); この時に、CreateProcessの第一引数はスペースの入ったパス名が渡されて目的のアプリケーションが起動できるのですが、そのアプリケーションに読み込ませるファイル名を上記のように第二引数で渡すと、パスの中のスペースが入った部分で切れてしまって、ファイルが見つからないという結果になります。たとえば第二引数に「D:\Delphi Project\filename」とすると、起動されたアプリケーションで「ファイルが見つかりません」というエラーが発生します。そこで、起動される側のプログラムのOnShowで第二引数をShowmessageさせてみると、スペースが入った前の部分、この例で言えば「D:\Delphi」までしか渡っていません。Pcharにキャストする時の問題化と思ったのですが、第一引数では問題はありませんので、何か他に問題があると思います。おわかりになる方がいらっしゃればご教示ください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.