| | 2013/2/23 (土) 12:26:50  Mr.XRAY | 
 | こんなページ,記事を見つけました.http://drang.s4.xrea.com/program/tips/memo/char.html
 
 >どうやらChar型の文字をPCharでキャストするのはNGなようで
 
 ということです.
 Char というのは,1文字の要素です.
 
 array[0..10] of Char;
 
 とかで使います.一方,String型は,
 [Delphi 2009 と 文字列型]
 http://edn.embarcadero.com/jp/article/38791
 
 のように,まさに,文字列型として定義されています.
 つまり,String型というのは,文字列としての情報も格納されています.
 Charは「文字列」ではありません.
 
 ShellExecuteの第4引数に与えるのは,Null終端の「文字列」です.
 「文字(要素)」ではありません.
 PChar(文字列) とすると,「文字列」をNull終端文字列にしてくれます.
 素直にString型をPCharでキャストして渡すのがいいですね.
 もちろん,いろいろな疑問に挑戦することは必要なことだと思います.
 
 ちなみに,'A'のようにして渡した場合,Delphiでは,
 これを「文字」(Char)ではなく「文字列」(String)として解釈してくれます.
 
 
 | 
 |