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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1019
TNhelpman.exe がスクリプトから起動できません。10解決


TN

リンク

2008/10/19(Sun) 16:30:55|NO.20323

スクリプトからヘルプを呼び出したいなと思ってやってみたのですが,
「内部エラー39」で動いてくれません。
以下の1行スクリプトで試しても同じでした。
-----
exec "c:\\program files\\hsp\\hsphelp\\helpman.exe"
-----

もちろんファイルはエクスプローラからダブルクリックすれば起動します。
先に helpman.exe が起動していると,上の1行スクリプトでアクティブに
なってくれますから,見えてない訳じゃないみたいです。

なんとなく HSP の問題じゃない気がするんですが,なにぶんにも超初心者,
問題解決の足がかりがわからず・・・

すみませんが,どなたか知恵をお貸しいただければ幸いです。



この記事に返信する


inovia

リンク

2008/10/19(Sun) 18:12:03|NO.20328

これだと動くみたいですが、どうでしょうか?


chdir "c:\\program files\\hsp" exec "hsphelp\\helpman.exe"



TN

リンク

2008/10/19(Sun) 19:18:21|NO.20331

> inovia さん

素早いお返事,どうもありがとうございます!!

inovia さんに教えていただいたスクリプトだと,スクリプトエディタから
コンパイル+実行(F5)したら,ちゃんと動きました!

が,なぜか実行ファイルにして(ツール→実行ファイル自動生成)試すと,
やっぱり「内部エラー39」で動かないんです。

ちなみに最初の1行スクリプトだと,スクリプトエディタ上で F5 で実行しても
「内部エラー39」になってしまいます。



Kpan

リンク

2008/10/19(Sun) 19:37:15|NO.20337

エラー39は
> COMオブジェクトの呼び出し中にエラーが発生した場合に表示されます。
であって、exec命令で起こりうるエラーではないので、ヘルプブラウザの方が
エラーを出してる感じですな。



TN

リンク

2008/10/19(Sun) 21:31:02|NO.20338

> Kpan さん

お返事ありがとうございます。

なるほど・・・

ヘルプブラウザをエクスプローラから直接起動したり,スクリプトエディタから起動した
場合はまったく問題ないわけですから,ヘルプブラウザが,その「呼び出され方」(?) に
よって,普通に動いたりエラーを返したりするってことですかね?

にしても inovia さんの教えてくださった方法で,両方の結果が出せるというのは,どう
いうことなんでしょう・・・



TN

リンク

2008/10/20(Mon) 23:35:59|NO.20347

自己完結?です。

標準の helpman.exe ではなく S.Programs NET さんの HSP Document Library を
使わせていただくことで,無事目的を果たせるようになりました。

何となくビミョーな解決法ですが,HSP Document Library も結構気に入りまして,
とりあえずはまぁいいか,という気分になっております。

改めまして,inovia さん,Kpan さん,ありがとうございます。



ANTARES

リンク

2008/10/22(Wed) 00:14:00|NO.20356

 ちょっと不思議なので、いろいろやってみたら、次のような結果でした。
○exec "C:\\Program Files\\hsp\\hsphelp\\helpman.exe"
×exec "c:\\program files\\hsp\\hsphelp\\helpman.exe"
×exec "c:\\Program files\\hsp\\hsphelp\\helpman.exe"
○exec "c:\\Program Files\\hsp\\hsphelp\\helpman.exe"
×exec "c:\\program Files\\hsp\\hsphelp\\helpman.exe"



TN

リンク

2008/10/23(Thu) 01:17:50|NO.20387

> ANTARES さん

ありがとうございます!

ほんとだ・・・同じ結果になります。
確かに私も Program Files は全部小文字にしてました。
おかげさまで何となく見えてきました。

Documents and Settings に hsphelp フォルダをコピーしてみたら,

× exec "c:\\documents and settings\\user\\hsphelp\\helpman.exe"
○ exec "c:\\Documents and Settings\\user\\hsphelp\\helpman.exe"

他の実行ファイルだと(2つしか試してませんが)

○ exec "c:\\program files\\hsp\\hsp3demo.exe" (HSP デモ)
○ exec "c:\\program files\\sakura\\sakura.exe" (サクラエディタ)

短いフォルダ名(c:\TemP)なら

○exec "c:\\temp\\hsphelp\\helpman.exe"

でも長いフォルダ名(c:\JugemuJugemuGokounoSurikire)でやってみたら

○exec "c:\\JugemuJugemuGokounoSurikire\\hsphelp\\helpman.exe"
×exec "c:\\jugemujugemugokounosurikire\\hsphelp\\helpman.exe"

てことで,ヘルプブラウザがデータベースを読みに行く時に,長い名前の
フォルダだと大文字と小文字を区別しちゃって動けなくなるってことなん
でしょうかね ???



ANTARES

リンク

2008/10/23(Thu) 01:56:31|NO.20389

 なるほど、スペースが問題かと思ったら長さだったんですね。
8バイトまでなら大文字・小文字を区別しないようです。
すべて8バイト以下ならFAT32のDOSフォルダ名かもしれないということで
大文字・小文字を区別しないようにしているのかもしれません。



ANTARES

リンク

2008/10/23(Thu) 02:12:41|NO.20391

 DOSフォルダ名だと「Program Files」が「PROGRA~1」とか(数字は環境によって
変わる)になっちゃいます。



TN

リンク

2008/10/30(Thu) 23:57:51|NO.20513

> ANTARES さん

遅くなってしまいました・・・

なるほど,DOS フォルダ名を気にしていたってことなんですね。
確かに,

exec "c:\\progra~1\\hsp\\hsphelp\\helpman.exe"

でやってみたらちゃんと動きますね。

どうもありがとうございます!



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