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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0516
sakonエディタの不具合報告と要望5解決


sakon

リンク

2010/5/16(Sun) 08:22:13|NO.32660

以下のスクリプトをエディタから実行するとエディタが強制終了します。

switch 0 case 0 while 0 ; wendをわすれた swend
これ以外にもエディタが強制終了する不具合は以前から何度も報告されている気がするんですが
全然なおってないみたいですし本当に何とかして欲しいです。
編集してるファイルが1つならhsptmpから復活できるけど、2つ以上のファイルを編集してるときに
強制終了したら本気でモニターをぶん殴りそうになります。
せめて自動バックアップ機能を付けるとか、編集してるファイルの数だけhsptmpを作るとかして下さい。
でないと怖くて標準エディタを使ってられないし、hsp自体敬遠してしまいそうです。



この記事に返信する


f3d

リンク

2010/5/16(Sun) 11:06:11|NO.32662

ホントに強制終了しますね・・・

まぁ、エディタの不具合はおにたまさんが何とかできるわけではなく、
footy2の作者さんに直してもらうしかないんでしょうね。



check

リンク

2010/5/16(Sun) 13:05:54|NO.32663

ちょっと試してみたがこれはエディタのバグというよりもコンパイラのバグっぽいな。
エディタからでなく、直接コンパイラをたたいて実行してみたがエラーになった。
マクロ展開時にアクセス違反でも起こしているのだろうか。



check

リンク

2010/5/16(Sun) 13:09:07|NO.32664

どうやら
マクロA開始 と マクロA終了の間に、マクロBを閉じないで書くと起こるみたいだな。
do
while until

for a,0,5,1
switch next
でも同様のことが起きる。



レノス

リンク

2010/5/16(Sun) 14:14:21|NO.32665

勝手ながら、この件については修整をお願いしてきました。
(バグトラック [BTS:235])
http://quasiquote.org/hspbt/guest?project=hspb3&action=view_report&id=235

しかし、hspcmp.dll のバグ1つのせいでエディタごと落ちるというのは、
なんとかならないのでしょうかね……。

> 自動バックアップ機能
標準でエディタの SDK (hsedsdk.as) があるので、HSPで作れると思います。試してみては?



いかろ

リンク

2010/5/17(Mon) 19:20:31|NO.32697

>標準でエディタの SDK (hsedsdk.as) がある
このようなものが、あったんですね。そこで自動バックアップ作ってみました。
もしよかったら、使ってみてください↓。ただ、即興で書いたのでバグが多々あるかと。


#include "hsedsdk.as" #define BackUpTiming 120//ここをバックアップする時間の間隔(秒)にしてください //================タイマー関数============ #module #defcfunc SecondTime array var return var(0)*24*60*60 + var(1)*60*60 + var(2)*60 + var(3) #defcfunc MinuteTime array var return var(0)*24*60 + var(1)*60 + var(2) #defcfunc HourTime array var return var(0)*24 + var(1) #defcfunc NomalTime int time dim va,4 va(0)=time/(24*60*60) va(1)=( time\(24*60*60) )/(60*60) va(2)=( (time\(24*60*60))\(60*60) )/60 va(3)=( (time\(24*60*60))\(60*60) )\60 return strf("%d時間%d分%d秒",va(1),va(2),va(3)) #global //============タイマー関数ここまで======== gsel 0,-1 notesel buf dim NowTime,4 dim SendTime,4 *start hsed_gettabcount nTabs if ( stat ) { end } repeat nTabs hsed_getfootyid nFootyID, cnt if ( stat == 0 ) : hsed_gettext buf, nFootyID hsed_getpath path, cnt if (stat == 0)&(path!="") { notesave getpath(path,1)+"_backup_"+gettime(0)+""+gettime(1)+""+gettime(3)+""+gettime(4)+""+gettime(5)+""+gettime(4)+".hsp" } loop SendTime(0)=gettime(3) SendTime(1)=gettime(4) SendTime(2)=gettime(5) SendTime(3)=gettime(6) SendtimeSec=SecondTime(SendTime) repeat NowTime(0)=gettime(3) NowTime(1)=gettime(4) NowTime(2)=gettime(5) NowTime(3)=gettime(6) time=SecondTime(NowTime) if time-SendtimeSec>BackUpTiming:break await 1 loop goto *start



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