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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0328
たこ閉じるとエラー2解決


たこ

リンク

2007/3/28(Wed) 18:31:52|NO.6635

下のスクリプトは画像を白黒にするんですが、
画像ファイルをドラッグ&ドロップして処理を実行して、
閉じると「問題が発生したため、hsp3.exeを終了します。...」と
出てきます。これを解決させる方法を教えてください。


#uselib "shell32" #func daf "DragAcceptFiles" int,int #func dqf "DragQueryFile" int,int,int,int #func DragFinish "DragFinish" int screen 2 screen 0,640,480 oncmd gosub *tuika,563 onexit *e filename="" sdim namae daf hwnd,1 stop *tuika gsel 2,1 dqf wparam,-1 repeat stat dqf wparam,0,varptr(filename),260 picload filename sx=ginfo_winx sy=ginfo_winy repeat sy repeat sx pget cnt,re r+ginfo_r g+ginfo_g b+ginfo_b loop re++ loop seki=sx*sy r=r/seki g=g/seki b=b/seki repeat sy repeat sx pget cnt,rcnt if ginfo_r+ginfo_g+ginfo_b<=r+g+b{ color }else{ color 255,255,255 } pset cnt,rcnt await loop rcnt++ loop dim rcnt dim re r=0 g=0 b=0 path=dir_desktop+"\\"+getpath(filename,9)+".bmp" ;bmpsave path loop gsel 0 cls pos 0,0:mes "end" DragFinish wparam return *e end



この記事に返信する


pizza

リンク

2007/3/29(Thu) 02:34:41|NO.6657

DragQueryFileはHSPの命令ではないので、
変数の自動確保を行ってくれません。
filenameをsdimで260byte確保してみてください。

> dqf wparam,0,varptr(filename),260

複数ファイルに対応するのなら、二つ目の引数はcntにしないと、
全て同じファイル名になってしまいます。



たこ

リンク

2007/3/29(Thu) 13:38:23|NO.6669

pizzaさんエラーなくできました。
ありがとうございます。



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