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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0623
_hamyuummplayで強制終了されてしまいます10解決


_hamyuu

リンク

2010/6/23(Wed) 10:23:28|NO.33382

自分のPC内に存在しないマップとリプレイをFTPサーバから
ダウンロードするようにしました。ちゃんと思ったとおり動作したのでこれでOK!
っと思ったのですが、そのあとにmmplayでBGMを流そうとすると
hsp3.exeは動作を停止しました と出て強制終了させられてしまいます。

ftpopen "ftp.isweb.infoseek.co.jp","ユーザー名","パスワード" if ghdl=0:ftpdir mydir,"/map":else:ftpdir mydir,"/ghost" if ghdl=0:title"[マップをダウンロードしています]" if ghdl=1:title"[リプレイをダウンロードしています]" ftpdirlist repeat netexec mode if mode : break await 50 loop ftpdirlist2 res notesel res:gyou=notemax repeat gyou noteget mapname(cnt),cnt split mapname(cnt),"\"",i,size_(cnt) split mapname(cnt),"\"",i,mapname(cnt) loop notesel maplist repeat gyou mapname_(cnt)=getpath(mapname(cnt),1) noteadd mapname(cnt),-1,1 if s=0:color:gfade 156,0,0,950,250:gfade 156,0,280,950,250:gfade 256,0,250,950,30:redraw 1:s=1 exist mapname(cnt):if strsize>0{ if edit=1:if cnt=gyou-1:dialog"未ダウンロードのマップは見つかりませんでした。" } else{ color:gfade 256,0,250,950,30:color 200,200,255 if ghdl=1:pos 202,252:else:pos 252,252 mes"["+mapname(cnt)+"をダウンロード中]" redraw 1:ftpget mapname(cnt) } await 1 loop
変数「ghdl」が1のときリプレイをダウンロードするようになっています。
「ghdl」が0でマップのダウンロードのみの場合は全く問題ありません。
リプレイのダウンロードが原因のようなのですが
どうしてmmplayで強制終了するのですか?(mmstopでも同じです)



この記事に返信する


_hamyuu

リンク

2010/6/23(Wed) 13:46:07|NO.33385

mmplayなしでもウインドウを閉じると「動作が停止しました」と出ます。
このスクリプトを試してもらうとわかるとおもいます。

#include "hspinet.as" netinit title"接続中" ftpopen "サーバ名","ユーザー名","パスワード" ftpdir mydir,"/" ftpdirlist repeat netexec mode if mode : break await 50 loop ftpdirlist2 res ftpclose mes res title"完了"
ちなみにWindows7の64bitです。
OSのせいですかね・・・



inovia

リンク

2010/6/23(Wed) 14:35:47|NO.33386

No.33385 のスクリプトを試してみました。

Windows XP SP3 + HSP3.21a
-> 11行目(netexec)でシステムエラー(1)が発生し終了。

Windows Vista SP2 32bit + HSP3.21a
-> 11行目(netexec)でシステムエラー(1)が発生し、
「動作が停止しました」とWindows から通知が出て強制終了。

Windows XP SP3 + HSP3.1
-> 正常終了

Windows Vista SP2 32bit + HSP3.1
-> 正常終了

HSPのバージョンを3.1にしてみたところ正常に作動しました。
hspinet.dllだけを3.1のものに差し替えればとりあえず使えるようです。



inovia

リンク

2010/6/23(Wed) 14:42:59|NO.33387

それ以前に、ファイルのダウンロードにFTPを使うのはあまりお勧めしません。
もしソフトを公開する予定があるならば、FTPのIDやパスワードが抜かれる可能性があります。
ご存知かもしれませんが、FTPは平文で通信するためデータを抜くのは容易です。
IDとパスワードが洩れるとファイルが改ざんされる可能性があります。
(ガンブラーとかもこの手口です。)

ダウンロードだけでしたらHTTPで十分だと思います。



_hamyuu_

リンク

2010/6/23(Wed) 15:28:27|NO.33388

言われたとおりhspinet.dllを3.1のものにしたら直りました!
ありがとうございます。
ちなみにWindows7 32bit では3.21aのままでも強制終了されませんでした。
それとFTPの注意事項ありがとうございます。
FTPの危険性は承知しております。
昔、この掲示板で学ばさせていただきました。



_hamyuu_

リンク

2010/6/23(Wed) 15:48:24|NO.33390

すいません。
一度は直ったのですが2回目以後また同じ症状が出てしまいます。
何ででしょうか・・・



_hamyuu_

リンク

2010/6/23(Wed) 18:36:34|NO.33393

作者以外わからないですかね。
とりあえずFTPは別exeに任せて解決!



ORZ

リンク

2010/6/24(Thu) 00:47:01|NO.33404

FTPでやったらパスワードぬかれっぞ。



_hamyuu_

リンク

2010/6/24(Thu) 16:44:38|NO.33411

わかってますとも!
友達同士で遊ぶだけで、おおやけの場には公開しないので大丈夫です。
たぶん



backdrop

リンク

2010/6/27(Sun) 19:07:10|NO.33464

HTTPリクエストをサーバに応じて正しくsocket送信すればあとはsockgetで64byteずつ取得
その時、ヘッダも一緒についてくるからきちんと取り除く
(http.hspっていうサンプルがあったような)



backdrop

リンク

2010/6/27(Sun) 19:08:41|NO.33465

>友達同士で遊ぶだけで、おおやけの場には公開しないので大丈夫です。
FTPの危険はそのレベルじゃない
最もグローバルのサーバに、接続するわけだから大いにパス盗み見される危険アリ



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