[Delphi]文字列の暗黙的なキャスト警告を消す方法






トップページへ

※全てのDelphi(楽天市場で探すamazonで探す)で動作する保証はありません。また、内容に関し管理人は全ての責任を負いかねます

サンプル ※説明に必要な部分しか記述していません。

procedure TForm1.Button1Click(Sender: TObject);

//警告 文字列の暗黙的なキャスト を消す方法の一例

var
    Dest: array[0..255] of WideChar;
    w_str: String;

begin


//【A】
    StrPCopy(Dest, PAnsiChar('AnsiChar'));


//【A】の方法ではコンパイルまたは再構築した時にエラーにはならないものの

 
//[DCC 警告] W1057 文字列の暗黙的なキャスト('AnsiChar' から 'string')

//という警告文が表示されます。

//警告文が気になる場合は下の【B】の方法で警告を消すことができますが、【B】は一例であり方法は複数あると思われます。


//【B】
    w_str := string(PAnsiChar('AnsiChar'));
    StrPCopy(Dest, w_str);

end;

・string() については

http://docwiki.embarcadero.com/

をご覧下さい。

一部引用
コンパイラが、AnsiString(または AnsiChar)を、Unicode のなんらかの形式(UnicodeString または WideString)に暗黙的に変換しなければならないケースを検知した際に、この警告がでます。 この警告を避けるには、明示的に型キャストする必要があります






関連記事
[Delphi]DaysBetween・HoursBetween日付や時刻の間隔を知る

[Delphi]日付や時刻の分解と生成

[Delphi]クリップボード テキストのみ

[Delphi]2次元配列

[Delphi]定数