Byteから*Byteに強制変換されています。

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
rikaeigo2
記事: 23
登録日時: 2008年7月30日(水) 23:50

Byteから*Byteに強制変換されています。

#1 投稿記事 by rikaeigo2 »

はじめまして。初心者rikaeigo2です。
テキストファイルをReadFileで読んで条件文に掛けるところです。
Dim ReadDataP As BytePtr
・・・・・・・
ReadDataP=HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,FileSize+1)
ReadFile(hFile,ReadDataP,FileSize,VarPtr(RBytes),ByVal 0)
・・・・・・・・
If CharUpper(ReadDataP[III])=&h53 Then
・・・・・・
としてリリースコンパイルすると、
[警告] "CharUpper"の第1パラメータが、Byteから*Byteに強制変換されています。
と出ました。
「*Byte」って何ですか?
どうすれば改善しますか?

環境:WindowsXP、ActiveBasic4.23.00
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

*ByteはBytePtrと同じく、Byte型へのポインタになります。

コード: 全て選択

If  CharUpper(ReadDataP[III])=&h53 Then

コード: 全て選択

If  CharUpper(ReadDataP[III] As *Byte)=&h53 Then
にしてみてください。

#HeapAllocよりmallocやcallocの方が書くのは楽です。機能は限定されますが・・・
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
rikaeigo2
記事: 23
登録日時: 2008年7月30日(水) 23:50

#3 投稿記事 by rikaeigo2 »

ありがとうございました!^^
返信する