[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/27 14:57 / Filesize : 277 KB / Number-of Response : 972
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その51



156 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:40:14 ]
くだすれだし、もう少し優しい言い方でも良いかなぁ。とおもいつつ。

Length (組み込み)関数が使えるのは「長い文字列型 (AnsiString, WideString, UnicodeString)」 と
「動的配列 (array of 〜)」です。

PByteArray の定義上の型は 「TByteArray へのポインタ」で
TByteArray は Byte 型の「静的」配列となっています。

この TByteArray型は動的配列が Delphi 言語に導入される前に使われていた、長さ不定の Byte 配列を
参照するための便宜的な型です。範囲チェックをオフにすることで任意のインデックスの場所を参照できました。
もちろん配列の領域確保と正しい場所へのアクセスはプログラム自身が保証する必要があります

現在は動的配列が導入されたため、領域確保に関しては動的配列を使えば解決できます。
Length または High を使えば実行時に配列の大きさを知ることもできます。

PByteArray 型は、キャストすることによって任意のポインタを Byte の配列として扱えるため
動的配列が導入された後もよく使われます。

PByteArray 型単体では、単なるポインタなのでコンパイラも(回答者も)それ以上のことは何も判りません。
PByteArray 型の指す実体が、何によって確保されているかによって、その実体の大きさを取得する方法は異なります。
PByteArray 型として格納されているポインタが不定なのであれば、そのポインタの指す「何か」の大きさを
知る方法は、まずありません。設計から見直しましょう。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef