掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Pointer型の配列の使い方 (ID:32300)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
SysUtils.pasで↓このように定義されてるので、普通は自前の定義は不要。 PByteArray = ^TByteArray; TByteArray = array[0..32767] of Byte; それはさておき、↓このように使用メモリより少ない定義などするもんじゃないね。 TByteArray = array [0..1] of Byte; デフォルトの設定では範囲チェックしない{$R-}のでエラーにならないけど、 {$R+}なら例外が発生する。 var Data: PByteArray; i: integer; begin with TMemoryStream.Create do try LoadFromFile('ふぁいる'); Data := Memory; {$R+} for i:=0 to Size-1 do begin Data^[i] := not Data^[i]; end; {$R-} finally Free; end; 開発段階ではキチンと範囲チェックを有効にしておいた方がいいよ。 そうしないと思わぬバグが潜むことあり。 ただし、今回のような場合は Dataの要素数を指定する必要はないし、 実行時に変動する要素数は決められないということ。 TByteArray = array of Byte;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.