>メモリを確保していなくてもテキストを保存できるし、開放処理もいらない……と思う。
>このように、関数の引数としてBytePtr型を使う場合はどのようにしていけばいいのでしょうか。
配列データ全体、構造型データを関数やSUBの引数とした時は、
配列データ全体、構造型データの先頭アドレスを引き継ぎます。
C++やVC++と同じ概念です。
だからそれをそのまま使用すればいいと思います。
下記にByte型のポインタ変数を使用した例を示します。
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード:
/****************/
/* TEST-PROGRAM */
/****************/
DIM TEXTA[127] AS Byte
DIM TEXTP AS BytePtr
lstrcpy(TEXTA,"TEXTAをそのままTESTSUBの引数として使用する例")
TESTSUB(TEXTA)
TEXTP = TEXTA 'TEXTAの先頭アドレスを設定
lstrcpy(TEXTP,"TEXTAのアドレスをTEXTPに設定してTESTSUBの引数として使用する例")
TESTSUB(TEXTP)
TEXTP = calloc(100) 'callcで100バイトの領域確保
lstrcpy(TEXTP,"callcで100バイトの領域確保してTESTSUBの引数として使用する例")
TESTSUB(TEXTP)
free(TEXTP) 'callcで確保した領域解放
END
' Byte型配列全体の場合はBytePtrまたは*Byteを指定する
SUB TESTSUB(I1TXT AS BytePtr)
MessageBox(NULL,I1TXT,"TEST-PROGRAM",MB_OK)
END SUB
説明がうまくなくてすみません。
よろしくお願いします