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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0611
gglaモジュールを使用するとエラーがでます6未解決


ggla

リンク

2012/6/11(Mon) 00:17:12|NO.47159

モジュール内でdialog "a"ってやると
エディタから実行したときは正常に動くのに
実行ファイルを作成すると"w32"って表示されてさらにエラー3になってしまいます。
原因がわかるかたいらっしゃいますでしょうか。



この記事に返信する


ひじき

リンク

2012/6/11(Mon) 00:32:16|NO.47160


#module test #deffunc myfunc str text dialog "hogehoge" dialog ""+text return #global myfunc "Hot Soup Processor"

私は上記ソースで実行ファイル生成時にも正常に動作しております。
dialogが原因ではないという可能性はありませんか?
もう一度ソースをよく見なおしてみてください。
氏の書いたモジュールを貼ってみて下されば、
誰かが原因を見つけてくれるかもしれません。

ちなみにHSPのバージョンはいくつでしょうか?



GrapeColor(DION)

リンク

2012/6/11(Mon) 00:40:31|NO.47161

こういうことですか?

#module "test" #deffunc test1 dialog "a" return #global test1 stop
もっと詳しく書かなければ、どういうことなのか分かりませんよ
とりあえず上のスプリクトでは普通にできましたよ?



ggla

リンク

2012/6/11(Mon) 08:19:56|NO.47173

わかりづらくてすいません。
私のソースは長すぎて貼れないのですが、GrapeColor(DION)さんのようなソースです。

#module "test" #deffunc test1 dialog "a" winobj "SysListView32", "", $200, $50000001, 400, 200 ListID = objinfo(stat, 2) return #global test1 stop
こんな感じなのですが、dialog "a"のところで"w32"と表示されてしまいます。
エラー3はwinobjの部分で出ているようでした。
winobjを消したらエラーは出ません。
しかし、

#deffunc test1 dialog "a" winobj "SysListView32", "", $200, $50000001, 400, 200 ListID = objinfo(stat, 2) return test1 stop
のようにすると正常に動作するのです。
他にもいくつかモジュールを作っているのですが、他ではエラーが起きません。
同じようにwinobj "SysListView32"も書いているので、winobj自体が悪いわけでもないと思います。
test1をモジュールの書いたときだけ動作がおかしくなるので、
そういうことがあるのか疑問に思って質問させて頂きました。



ggla

リンク

2012/6/11(Mon) 08:26:50|NO.47175

書き忘れました。HSPのバージョンは3.3です。



暇人

リンク

2012/6/13(Wed) 07:23:56|NO.47246

その例はエラーが出るソースなの?
実行ファイルにしても何も不具合出ないんだけど・・・



ヂオン

リンク

2012/6/13(Wed) 14:30:06|NO.47249

こういう事なのかな?
buffer で作成された ID には、ウィンドウハンドルが無いので。
winobj 内部で使用されている CreateWindow 関数でエラーが発生する可能性が有ります。(参照先 の値が 0)
winobj 使用前には、必ず gsel で buffer 以外のウィンドウが 選択されている事が保証されているべきだと思います。


#module "test" #deffunc test1 dialog "a" winobj "SysListView32", "", $200, $50000001, 400, 200 ListID = objinfo(stat, 2) return #global buffer 1,200,200 test1 stop



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