【症状】下記のようにして、floatの配列(とみなした文字列)へのポインタを渡そうとすると、アクセス違反が発生します。
【再現方法】
#ここから
!変数宣言が必要
●GetCharWidthFloat({整数}hdc,{整数}iFirstChar,{整数}iLastChar,{整数}pxBuffer)=DLL(「gdi32.dll」,「BOOL GetCharWidthFloatA(HDC hdc, UINT iFirstChar, UINT iLastChar, PFLOAT pxBuffer);」)
BUFFERとは文字列。
FIRSTとは整数=ASC(「A」)。
LASTとは整数=ASC(「Z」)。
BUFFERに4*(LAST-FIRST+1)を確保。
GetCharWidthFloat(母艦の背景ハンドル,FIRST,LAST,POINTER(BUFFER))。
LAST-FIRST+1回
CHR(FIRST+回数-1)&「: 」&UNPOINTER(POINTER(BUFFER)+4*(回数-1),「float」)を表示。
#ここまで
【要望】アクセス違反が発生しないように、修正をお願いします。
【バージョン】ver.1.518
【その他】上記のサンプルで、「PFLOAT」を「void *」や「PDWORD」に変更すると、アクセス違反は発生しません。