HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0323
774HGIMG3+WM_Notify+LogMesで不具合?2解決


774

リンク

2015/3/23(Mon) 21:00:03|NO.68062

HSP3.4において、HGIMG3使用中にonCmdでWM_Notifyを捕獲すると
LogMesで不具合が発生するようです。

具体的にはLogMesによるログが出力されなくなる。
onCmdの飛び先でLogMesを行うとフリーズするといったものです。

#include "hgimg3.as" ;;;; #module #uselib "comctl32.dll" #func _InitCommonControls "InitCommonControls" #deffunc trv_Create int p0, int p1, int p2, local a _InitCommonControls a=$50000023^p2,0,Limit(p0,48,2048),Limit(p1,48,2048) WinObj "SysTreeView32","",a.1,a.0,a.2,a.3 :a=stat ObjSkip a,1 :hTrv=ObjInfo(a,2) Return a #deffunc trv_AddItem str p0, local a, local b Dim a,12 :sDim b,$100 :b=p0 a=0,0,$27,0,0,$f030,varptr(b),$200 SendMsg hTrv,$1100,0,varptr(a) Return stat #global Screen 0,320,240 :SysColor 15 :BoxF #ifdef __hgimg3__ hgini #endif Input s :trv_Create 120,200 Repeat 16 :trv_AddItem StrF("item_%02d",cnt) :Loop onCmd gosub *onMessage,$004e ;;;;WM_Notify onCmd gosub *onMessage,$0006 ;;;;WM_Activate onCMd gosub *onMessage,$0101 ;WM_KeyUp onCmd gosub *onMessage,$0111 ;WM_Command onCmd gosub *onMessage,$0201 ;WM_LButtonDown onCmd gosub *onMessage,$0205 ;WM_RButtonUp LogMes "HGIMG3 + onCmd:WM_Notifyで表示されず" Stop *onMessage Title StrF("#%04x",iParam) ; LogMes StrF("#%04x",iParam) ;;;; Return
当方の環境依存かも知れませんし、特異な組み合わせだとは思いますが一応ご報告までに。



この記事に返信する


m

リンク

2015/3/23(Mon) 22:12:25|NO.68064

logmesの前に無効化すると正常に動作するのでメッセージが無限ループしているように思えます。
この例だけでなくoncmdとデバッグウィンドウは相性が良くないのでなんとかして欲しい所ですが…
とりあえず以下のような置き換えである程度は回避できます。

#ifdef _debug #undef logmes #module "mod_logmes" #deffunc _logmes_init local l_hspctx flag@mod_logmes = 0 mref l_hspctx, 68 : dupptr flag@mod_logmes, l_hspctx(6)+96, 4, 4 return #deffunc logmes str p_string, local l_flag l_flag = flag@mod_logmes if (l_flag == 2) : oncmd 0 logmes@hsp p_string if (l_flag == 2) : oncmd 1 return #global _logmes_init #endif



774

リンク

2015/3/24(Tue) 00:03:47|NO.68070

oncmd使う時点でデバッグに支障が出る事もある程度は覚悟してるんですけどね…
今回の場合、HGIMG3でなければ普通にログ取れるんで不具合かな?と思いました。



ONION software Copyright 1997-2021(c) All rights reserved.