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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0616
XOZ実行ファイルだとエラーが起きる7未解決


XOZ

リンク

2007/6/16(Sat) 13:32:28|NO.8968

僕の作ったプログラムはショートカットを作成するのですが、実行ファイルを作成して起動す
ると、ショートカットを作成するところで、必ず「error38」と出てきてしまいます。コンパ
イル+実行なら正常に動作するのに。どうしてでしょうか。あとスプリクトが長すぎるので、
短くしたら投稿思います



この記事に返信する


XOZ

リンク

2007/6/16(Sat) 13:42:56|NO.8969

#include "user32.as"
#include "hspext.as" #define GWL_STYLE (-16) #define BS_ICON 0x00000040 #define BM_SETIMAGE 0x00F7 #define WS_CHILD 0x40000000 #define WS_VISIBLE 0x10000000 #define IMAGE_ICON 1 #define IDI_APPLICATION 32512 #uselib "shell32" #func global SHGetFileInfo "SHGetFileInfo" sptr, int, int, int, int #uselib "user32.dll" #cfunc FindWindows "FindWindowA" sptr,sptr #func GetWindowRects "GetWindowRect" sptr,sptr #cfunc CreatePopupMenus "CreatePopupMenu" #func AppendMenuz "AppendMenuA" int, int, int, str #func CheckMenuRadioItemz "CheckMenuRadioItem" int, int, int, int, int #cfunc CreatePopupMenuss "CreatePopupMenu" #func AppendMenus "AppendMenuA" int, int, int, str #func TrackPopupMenus "TrackPopupMenu" int, int, int, int, int, int #func DestroyMenus "DestroyMenu" int #uselib "shell32" #func global SHGetFileInfoas "SHGetFileInfo" sptr, int, int, int, int #uselib "user32" #func DrawStateas "DrawStateA" int, int, int, sptr, int, int, int, int, int, int #func DestroyIconas "DestroyIcon" int #uselib "shell32.dll" #func DragAcceptFiles "DragAcceptFiles" int,int #func DragQueryFile "DragQueryFileA" int,int,int,int #func DragQueryPoint "DragQueryPoint" int,int #func DragFinish "DragFinish" int #define WM_DROPFILES 0x0233 hwnd_=FindWindows("Shell_TrayWnd",0) dim lpRect,4 FindWindow "Shell_TrayWnd", 0 hTaskWnd = stat dim rect, 4 GetWindowRect hTaskWnd, varptr(rect) *はじめの法 gsel 0,-1 screen 3,300,150 参照です="" *eaff cls color 0,0,0 pos 120,100 button "追加",*追加 pos 0,50:button "参照",*参照 pos 65,51:objsize 234,22 input 参照です stop *参照 dialog "",16 if stat=1:参照です=refstr goto *eaff stop *追加 chdir dir_desktop nameです="あああ" fxlink nameです,参照です//ここに問題があるっぽい gsel 3,-1 goto *はじめの法 stop
こんなスプリクトです



eller

リンク

2007/6/16(Sat) 15:19:45|NO.8970

XOZさん、こんにちは。
折角の機会ですので、今回のケースに加えてより一般的に「エラーが発生したら何を調べるべきか」をお答えします。

エラーが発生した場合は、まずその番号(今回は38)を控えてから、HSPのプログラミング・マニュアル(基本仕様ガイド)の「エラーメッセージ」を見てください。
ここには、エラーの番号とその種類が掲載されています。

これによると、38は"外部DLLの呼び出しに失敗しました"と言う意味だそうです。
今回のスクリプトではショートカットの作成にhspext.dllを利用していますよね。
恐らくhspext.dllが実行ファイルと同じディレクトリにないため、呼び出しに失敗したのでしょう。

…ということで、結論です。
DLLを実行ファイルと同じディレクトリにコピーしてください。
なお、DLLをpackfileに含めることはできません。詳しくはプログラミング・マニュアルの「HSP拡張プラグイン」をご覧ください。



GENKI

リンク

2007/6/16(Sat) 16:57:56|NO.8971

HSPWikiのこちらのページもどうぞ。
[HSPのFAQ:エラーメッセージの意味と対処法が分からない]
http://quasiquote.org/hspwiki/HSP%a4%ceFAQ%3a%a5%a8%a5%e9%a1%bc%a5%e1%a5%c3%a5%bb%a1%bc%a5%b8%a4%ce%b0%d5%cc%a3%a4%c8%c2%d0%bd%e8%cb%a1%a4%ac%ca%ac%a4%ab%a4%e9%a4%ca%a4%a4



XOZ

リンク

2007/6/16(Sat) 19:43:22|NO.8973

それじゃあコンテストなどに出すときは、dllを含めて投稿すればいいんですね。



f

リンク

2007/6/16(Sat) 23:09:02|NO.8975

dllの配布条件は、dllによるから読んどけよ。

HSPEXTならこう書いてある。
--------------------------------------------------------------------------
・著作権および連絡先

著作権および、使用の規定についてはHot Soup Processor ver2.6と同様です。
営利・非営利を問わずHSPEXT.DLLを自由に配布してかまいません。
onion softwareは本プログラムによって生じた、いかなる損害についても
保証いたしません。自己の責任の範囲で使用してください。
HSPEXT.DLLは、Microsoft Visual Studio.NET 2003でコンパイルされて います。



XOZ

リンク

2007/6/19(Tue) 19:31:38|NO.9028

遅れましたが、ありがとうございました



f

リンク

2007/7/7(Sat) 02:26:13|NO.9296

age



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