掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBScriptに引数を渡すには? (ID:39321)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Tentさん、ありがとうございました。 ◆上記案1 var Para : String; Para := '1'; ShellExecute(Handle, 'OPEN', PChar(FName), PChar(Para), nil, SW_NORMAL); の場合はString型として定義済みの為、PChar(Para) とする必要がある。 ◆上記案2 ShellExecute(Handle, 'OPEN', PChar(FName), PChar(String('1')), nil, SW_NORMAL); は、PChar(String('1')) としなくても '1' だけで良い。 ◆上記案3 ShellExecute(Handle, 'OPEN', PChar(FName), PChar('1'+ #0), nil, SW_NORMAL); は型を定義していないため、PChar('1'+ #0) としなくても '1' だけで良い。 ◆備考 ①PChar(String('1')) や ②PChar('1'+ #0) が成功するのに、 ③PChar('1') が成功しない理由は、 ①はString('1')の時点で自動変換でヌル文字が付く、 ②は手動でヌル文字を付けているが③は付いていないため。 という事なのですね。(備考部分は自信が無いですが…) とても良く理解できました。 ありがとうございました。 ◆メモ:String型とPChar型の関係 ShellExecuteはWindows APIなので文字列を渡すには、 DelphiでのString型とは違いポインタ変数であるPChar型を使う必要がある。 PChar型は文字列の最後にヌル文字#0が付加してある型。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.