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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0201
jtree#出力ファイルを書き込めません15未解決


jtree

リンク

2013/2/1(Fri) 15:18:25|NO.52127

まぁまんまなんですが...
F5押すと結果レポート
 #HSP script preprocessor ver3.31 / onion software 1997-2012(c)
 #Use file [hspdef.as]
 #HSP code generator ver3.31 / onion software 1997-2012(c)
 #出力ファイルを書き込めません
あと、この時マイドキュメント下にhsptmpが作成されます
中身はプログラムそのまんま;結果レポート閉じても消えません

EXEファイル作る系は動きます;

尚、インストール先を最初c:\hspにしていましたが、
もしかしてここのアクセス権限が問題かと思い、
zip形式のものを適当な場所に展開してやってみましたが同じエラーでした。
どうも検索してもイマイチ情報がないのですがどうすれば...
まぁとりあえず動くのは動くんですがこれでは不便なので解決策が知りたいです。。



この記事に返信する


jtree

リンク

2013/2/1(Fri) 15:20:24|NO.52128

連投失礼。
補足:まぁとりあえず動くってのはexe作成のことです。
ただ毎回exe作成してたら面倒なので...。普通にf5でやりたいです。



ツノン

リンク

2013/2/1(Fri) 21:38:18|NO.52130

hsp3.exe が壊れているとか?
hsp をインストールしなおしたら治るかもしれません。



jtree

リンク

2013/2/1(Fri) 22:56:12|NO.52133

んと、exe版インストール→エラー
zip版適当な位置に展開→同じエラー
と来てますし、まずファイルの破損とは考えにくいです。

というか、実際破損は無いはずです。
別のPCで正常に動くものをwhirlpoolハッシュで確認しましたが一致しました。



KA

リンク

2013/2/2(Sat) 09:21:04|NO.52139

OS不明。
関連付け実行なのか不明。
作業フォルダの設定不明。



@key

リンク

2013/2/2(Sat) 11:48:29|NO.52140

HSPのシステムカレントフォルダが移動しちゃってるのかな?
適当にHSPのレジストリを消して再インストールしてみて下さい



jtree

リンク

2013/2/2(Sat) 19:49:26|NO.52142

詳細忘れ失礼。
Windows7 Ultimate x64

関連付け実行ではないです。
F5押して〜と最初の文に書きましたが分かりにくかったでしょうか。

作業フォルダに関しては、設定画面上の「起動時のカレントディレクトリ」のことでよろしいでしょうか。
そちらであれば、初期設定のマイドキュメントから変更しておりません。
尚、マイドキュメントの権限はログイン中ユーザーのフルコントロール権限があります。


レジストリに問題があるのではないか、とのことでしたので、
設定画面から設定の保存方法をiniファイルに変更して一旦終了し、
iniファイルを削除し起動し直してみましたが、状況が再現しましたのでレジストリに原因は無さそうです。

引き続きよろしくお願いします。



jtree

リンク

2013/2/6(Wed) 21:21:32|NO.52213

いまいち状況が改善していない状態で埋もれそうだったので上げておきます。
現状のままでは非常に使いにくいので。
※掲示板の使い方等を見て、上げる行為は特に問題ないことは確認済みです。
引き続きよろしくお願いします。



@key

リンク

2013/2/6(Wed) 22:18:56|NO.52215

たぶんこれは向こうのPC側の環境に左右されてこちらでは把握しにくく答えにくいんだろうと思います
自分も出たことがあったんですが、なんとか適当にいじってたら治りました

まあ言いたいことは「自分で解決して下さい」と言うことで、その保存方法の対処も、
もしかしたら保存方法をINIにした設定も変な場所に保存されてるとかそんな感じかもしれません


totalunistallerというソフトがあります。自動でレジストリまで消してくれる便利なやつです
一度それでHSP関連の物は全て消して、HSPのインストーラーを管理者権限で実行して保存フォルダを
programfilesに入れて下さい



KA

リンク

2013/2/6(Wed) 23:24:26|NO.52216

>>関連付け実行なのか不明。
>>作業フォルダの設定不明。

ちょっと書き方が悪かったですね。

HSP.TMPはスクリプトと同じ場所に作成されるので、今回の場合は
「マイドキュメント」に有るスクリプトを実行したのでしょうか。

スクリプトとエディタを関連付けしてしていないのなら、エディタを立ち
上げてからスクリプトを開いていると思います。

スクリプトを「マイドキュメント」以外の場所に置けば改善するかもしれ
ません。



inovia

リンク

2013/2/6(Wed) 23:25:35|NO.52217

#出力ファイルを書き込めません
が出てしまうのは、何らかの原因で、objファイルの書き込みができなかったためです。

試しに、objファイルを書き込みできないようにしてみたところ、
同じメッセージが出てきました。

objファイルやそのフォルダのセキュリティ(アクセス権限)、
読み取り専用になっていないかどうか確認する必要があるかと思います。

ACLが破損してしまうこともあるようなので、リセットしてみるのもありかと。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1325aclreset/aclreset.html

------
【内部的な処理・読み飛ばしても良いです】
codegen.cppのCMemBufクラスのSaveFile関数の戻り値が0より小さいときに、
この「#出力ファイルを書き込めません」が出るようになっています。
http://tkooler.moe.hm/hsp/img/20130206_1.png

SaveFile関数内部で使用されているC言語のfopen関数(書き込み要求)が失敗する場合に、
-1が返るようになっています。
http://tkooler.moe.hm/hsp/img/20130206_2.png

C言語のfopen関数は実際はWin32APIのCreateFile関数が呼び出されますので、実際は
CreateFileA ( "obj", GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, SECURITY_ATTRIBUTES構造体へのポインタ, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL )
のような呼び出しになります。
http://tkooler.moe.hm/hsp/img/20130206_3.png



inovia

リンク

2013/2/6(Wed) 23:41:47|NO.52218

アクセス権限等をもう一度確認してもダメだったら、
あとはセキュリティソフトぐらいですかねぇ。

例えば、KasperskyでHSPのエディタに対して強めの制限をかけると、
「#出力ファイルを書き込めません」
と怒られるので、もしかしたらセキュリティソフトが原因かもしれません。



てst

リンク

2013/4/11(Thu) 08:58:21|NO.53526

objという名前のフォルダがあるとobjファイルは書き込めない



noname

リンク

2013/5/6(Mon) 22:59:13|NO.53861

スクリプトをC言語に変換する際など、ディレクトリにobjフォルダが作成されます。
このobjフォルダがあると、objファイルを作成できません。
私は同じエラー内容でそういうパターンでした。



Cydia.hatena

リンク

2013/5/7(Tue) 19:23:27|NO.53875

アンインストール→インストール
でわ?



123

リンク

2013/5/15(Wed) 03:33:12|NO.54050

このエラーって結構いろいろな場面で出てしかも
エラーの原因はまちまちなんですよね…
マジでこれでこのエラーが出るの!?ってものもあったし
でもスクリプトが原因なら止まったところ付近徹底的に調べたらすぐわかると思うよ。



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