ab.com コミュニティ
https://www.activebasic.com/forum/

Byteから*Byteに強制変換されています。
https://www.activebasic.com/forum/viewtopic.php?t=2438
ページ 11

作成者:  rikaeigo2 [ 2008年7月31日(木) 23:13 ]
記事の件名:  Byteから*Byteに強制変換されています。

はじめまして。初心者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 [ 2008年7月31日(木) 23:27 ]
記事の件名: 

*ByteはBytePtrと同じく、Byte型へのポインタになります。
コード:
If  CharUpper(ReadDataP[III])=&h53 Then
コード:
If  CharUpper(ReadDataP[III] As *Byte)=&h53 Then
にしてみてください。

#HeapAllocよりmallocやcallocの方が書くのは楽です。機能は限定されますが・・・

作成者:  rikaeigo2 [ 2008年7月31日(木) 23:40 ]
記事の件名: 

ありがとうございました!^^

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/