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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1001
あんまんnet〜の命令を使用した関数を作成したい6解決


あんまん

リンク

2007/10/1(Mon) 13:11:27|NO.11314

あんまんと申します。

以下のスクリプトのnetinitでエラーを出さなくするには、どうしたらいいでしょうか?
やりたい事としては、net〜の命令を使用した関数を作成したいのです。

#include "hspinet.as" #module #defcfunc func_test netinit return 0 #global *main func_test() stop

※#moduleでくくるのをやめればエラーは出ませんが、#moduleでくくりたいです。
※netinit@xxxとすればよいのかな・・・?と思っていますがうまくいきません。

何卒よろしくお願いします。



この記事に返信する


tks

リンク

2007/10/1(Mon) 13:55:12|NO.11316

hspinet.asの
#func netinit netinit 0

#func global netinit netinit 0
としてみるとか…。



あんまん

リンク

2007/10/1(Mon) 15:59:19|NO.11319

あんまんです。

なるほど、#func global指定をしていないと、#module指定された領域から
は呼び出せないんですね。

tksさん、御回答ありがとうございました。



Drip

リンク

2007/10/1(Mon) 19:15:55|NO.11322

Dripです。

 あんまんさん、こんにちは。
tksさんの説明された方法は推奨されません。
tksさんのやり方はHSPの共有ファイルを書き換えているため、
これを行った場合、今後「説明どおりに操作しているのに正しく動かない‥」
という事態が発生する恐れがあります。
commonフォルダ内の内容は可能な限りいじらないようにしてください。
以下にモジュール内でプラグインの命令を使用するサンプルを示します。
こちらの方法を使用し、変更してしまったファイルを元に戻しておく事を強くお勧めします。

#include "hspinet.as" netinit #module #deffunc sample str n //ネット上のファイル情報を取得する関数 neturl@ "http://hsp.tv/play/" info="" netfileinfo@ info,n if stat!0:mes "失敗。":else:{ mes "情報取得完了。\n" mes info } return #global sample "pforum.php" //ファイル情報の取得
理由があって、どうしてもtksさんの方法を使いたい場合は、commonフォルダからhspinet.asを
作業ディレクトリにコピーし、それを変更するようにしてください。



あんまん

リンク

2007/10/1(Mon) 20:40:06|NO.11323

あんまんです。

「XXX@」とすれば#module内の領域から外部定義された命令を呼べるんですね!
commonフォルダ内の"hspinet.as"を変更するのは気が引けるので、"hspinet_xxx.as"
を自分で定義するしかないなーと思っておりました。
しかし、「XXX@」で呼べるなら、それもしないで済みます。

Dripさん、ありがとうございました!



tks

リンク

2007/10/2(Tue) 00:08:52|NO.11329

> tksさんの説明された方法は推奨されません。

大変失礼いたしました(汗。あんまんさんの最初のスクリプトで
@を付けたにもかかわらずエラーになったので、ダメに
なったのかと…。

理由は簡単でした。関数を作っているのに命令として
呼び出していたからなんですね。気付くの遅すぎ。



あんまん

リンク

2007/10/2(Tue) 09:41:48|NO.11332

あんまんです。

>tksさん
私の質問の仕方が、誤解を生んだんだと思います。
すばやく答えていただいて感謝しております。



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