|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"FillCharの使い方"
FillCharの第1引数は「型なしパラメータ」ですので,実引数には
「値」
を渡す必要があって(コンパイラがアドレスを取る),ポインタ変数をそのまま
書き込むとはまります.C言語に馴れた人は要注意.
var P: pointer;
P := AMemoryStream.Memory;
FillChar( P , 1024, 0 ); // こいつはAccessViolation
FillChar( P^, 1024, 0 ); // これが正しい
原理的にコンパイラはこういう論理誤りを検出できません.
TN(CQJ01721)
Original document by TN 氏 ID:(CQJ01721)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|