たかせ様
ありがとうございます。
おかげさまで、だいぶ解決しました。
>> ①変数Aは実質使用されていないので不要ですよね?
MakeStrも、なんとかしたいです。
コード:
Dim A As String
Dim Buff1 As BytePtr
Buff1 = calloc(20)
lstrcpy(Buff1 As VoidPtr, "0123456789")
A = MakeStr(Buff1) '①"MakeStr" 戻り値が存在しないプロシージャです。
MessageBox(NULL,A,"Aの内容",MB_OK)
free(Buff1)
>> ②変数BuffはじつはBuff1が正解ですよね?
その通りです。
申し訳ありません。
>>ただAB5では警告メッセージがでるので*Byteを*Charまたは*SByteにしたほうがよいかもしれません。
下記の様にしてみましたが、警告が消えません。(*Charにしても同様です。)
引用:
Function INSTR(I1POS As Long,I2STRP As *SByte,I3STRP As *SByte) AS Long
Dim POSP As *SByte
Dim PLEN As Long
POSP = strstr(I2STRP As VoidPtr + I1POS As VoidPtr,I3STRP As VoidPtr) As VoidPtr
If POSP = NULL Then
PLEN = 0
Else
PLEN = POSP - I2STRP + 1 :'←[警告] *SByteからLongに強制変換されています。
End If
INSTR = PLEN
End Function
問題の無いコードに見えますが、警告を消す方法をお願いします。
宜しくお願いします。