GlobalUnlock関数が失敗してしまいます。
何か対策は無いでしょうか?
#include "user32.as" #include "kernel32.as" ;定数 #define CF_TEXT $00000001 #define GMEM_MOVEABLE $00000002 #define GMEM_ZEROINIT $00000040 ;システム変数stat が0(NULL)だった場合行番号とstat、コメントを表示する ;if_stat %1 #define if_stat(%1) if stat = 0 : dialog "LINE "+str( __LINE__ )+"\nSTAT "+str(stat)+"\nMSG "+str(%1),1,"エラー、システム変数statがNULLです" : goto *endr ;クリップボードビューアのセット clip_add_XXX = "< クリップボードに送る文字列を入力してください >" gsel 0,2 SetClipboardViewer hwnd : hwnd_clip = stat : if_stat "SetClipboardViewer!" onexit goto *endr mesbox clip_add_XXX,500,200 button gosub "clipset",*clipset stop ;クリップボードにデータを保存 *clipset dat_size = strlen(clip_add_XXX)+1 ;転送するデータのサイズを取得 GlobalAlloc GMEM_MOVEABLE | GMEM_ZEROINIT,dat_size : Gmem_hwnd_add = stat : if_stat "GlobalAlloc!" ;領域の確保 GlobalLock Gmem_hwnd_add : GLLK_ = stat : if_stat "GlobalLock!" ;領域のロック RtlMoveMemory Gmem_hwnd_add,varptr(clip_add_XXX),dat_size : if_stat "RtlMoveMemory!" ;メモリーのコピー GlobalUnlock Gmem_hwnd_add : if_stat "GlobalUnlock!" ;領域のアンロック f___ = 1 ;終了処理の際にclipboardを破棄するためのフラグ OpenClipboard hwnd : if_stat "OpenClipboard!" ;clipboardを開く EmptyClipboard : if_stat "EmptyClipboard!" ;clipboardの中身をクリア SetClipboardData CF_TEXT , Gmem_hwnd_add : if_stat "EmptyClipboard!" ;clipboardに送る CloseClipboard : if_stat "CloseClipboard!" ;clipboardを閉じる f___ = 0 return ;終了処理 *endr if cunt_endr = 5 : end if f___ = 1 : f___ = 0 : CloseClipboard : cunt_endr++ : if_stat "CloseClipboard!"+" \n エラーカウント"+str(cunt_endr) ChangeClipboardChain hwnd , hwnd_clip : cunt_endr++ : if_stat "ChangeClipboardChain!"+" \n エラーカウント"+str(cunt_endr) end </per>