[過去ログ] 【アリス】system4.0【御用達】 (563レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
313(2): 名前は開発中のものです。 [sage] 2007/11/05(月) 22:47:48 ID:eDoMJSU2(1) AAS
うー実行時に
【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】
と出る……。
これがintの場合は大丈夫なのに何故でしょう。
314: 名前は開発中のものです。 [sage] 2007/11/06(火) 21:18:33 ID:dVZUWYYT(1) AAS
>313
ふと思ったんだが、dll.func("ABC")とかやってない?
ref stringで。
いや、参照じゃなくてもこれができるかはわかんないし、
intなら大丈夫の意味もわかんないんだけど。
もし自前DLL作ってるなら、
どういう風に呼び出してるかとかHLLとか出してみてよ。
(そのままじゃなくてもいいから)
315: 名前は開発中のものです。 [sage] 2007/11/06(火) 23:18:45 ID:cZ2R0MB+(1/2) AAS
それが自作のDLLを使用しているわけではないんです。
全体のソースをはらせていただきます。
外部リンク:wikiwiki.jp
無駄に量はありますが、エラーの条件は
RPG \ CHAR_MAKE \ tagObject.jaf
にある、object構造体のコンストラクタの一行です。
同ファイルの先頭にあるg配列の
array@object asChar[20];
の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。
ローカルでoName_baseを呼ぶ分には問題ないようです。
もし宜しければ教えて下さい。
316: 名前は開発中のものです。 [sage] 2007/11/06(火) 23:23:09 ID:cZ2R0MB+(2/2) AAS
あれ……テキストは直リンクできるのにZIPは出来ない?
このファイルです。
外部リンク:wikiwiki.jp
317(1): 名前は開発中のものです。 [sage] 2007/11/07(水) 20:40:19 ID:aH1Zfske(1/2) AAS
ええとごめん、時間がないからエラーの出る場所だけで。
game_main>asChar_Data>oCharMakeと辿っていって、
最終的にans_t::SString関数内の
if(szX != szA){asY[nL] = szX;return asY[nL];}
の行でエラーが出る。
asChar_Dataを呼ぶ前にAコマンドで止めて、
ブレークポイント使ってステップ実行するとわかると思う。
ただ、使い方が間違ってるのかどうかまではわかんない。
(ライブラリの作者さんならわかりやすいのかな)
あと、intなら大丈夫の意味も未だにわかんない。
318(2): 名前は開発中のものです。 [sage] 2007/11/07(水) 22:25:35 ID:aH1Zfske(2/2) AAS
ふと思いついて、
if(szX != szA){asY[nL] = szX;return asY[nL];}
を
if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];}
としたらエラーはなくなったんだが、
これは>313、ライブラリ作者さん共に正しい動作になってるか?
319(1): 名前は開発中のものです。 [sage] 2007/11/07(水) 23:13:39 ID:xpaYlRaB(1) AAS
>>317-318
どうも有り難うございます。エラー箇所は分かったのですが、
何故エラーになるのかがどうしても分かりません。
>>318
まことに申し訳ないのですが、正しい動作になりません……。
第二引数に何を入れてもマウンテンデューが返ってくるようです。
「intなら大丈夫」というのはこういうことです。
//テスト
void game_main(void)
{
ans_t MS;
//MS.nSet("keyword",100);
//MS.nSet("keyword",200);
//N(MS.nGet("keyword"));A;//正常な動作だと200が出力
MS.ssSet("keyword","じむ");
MS.ssSet("keyword","がんたんく");
S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力
}
nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。
ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。
SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、
操作はほとんど同じです。
しかしnSet(上のコメントアウトしている方)は正常に動作し、
下のssSetの方は単独では前述のエラーメッセージが出ます
(コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます)
どうしてこんな違いが出るのかに大混乱です。
320(1): 318 [sage] 2007/11/08(木) 19:54:53 ID:mXVUOzqf(1) AAS
あ、InsertはPushBackしないのか。
>318の修正を
if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];}
にしてみて。
修正前は文字列を直接置き換えてたっぽいから、
新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。
>319でもエラーは出ないし、
RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。
原因はわかんない。
stringの配列要素に直接代入するところが特殊仕様かもしれないけど、
ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。
エラーが出るときもそうでないときも
デバッガに出るans_t変数の現在値は変わらないように見えるし。
321: 名前は開発中のものです。 [sage] 2007/11/08(木) 19:56:16 ID:NpNB32t6(1/2) AAS
代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。
とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、
もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、
stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。
//stringエラー対策用の代入式
void ADD(ref string szX,string szY)
{
int nLength = szX.Length();
szX += szY;
int nL;
for(;nL < nLength;nL++)
{
szX.Erase(0);
}
}
//文字列から要素を検索し、szXを返します。[asXが要素の役割]
string SString(string szX,string szV = szA,string szY = "Renew")
{ ans_ReAlloc;
int nL;for (nL = 0;nL < asX.Numof(); nL++)
{if(szX == asX[nL]){if(szV == szA){return asY[nL];}
if(szV != szA){ADD(asY[nL],szV);return asY[nL];}
}
} if(szY == "Renew" && szV != szA)
{asX.PushBack(szX);asY.PushBack(szV);return szV;}
return szA;
}
322: 名前は開発中のものです。 [sage] 2007/11/08(木) 20:02:41 ID:NpNB32t6(2/2) AAS
>>320
どうも有り難うございますー。上手くいきました。
値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。
323: 名前は開発中のものです。 [sage] 2007/11/10(土) 18:30:17 ID:EfYdmYW2(1/2) AAS
まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん
送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz
324: 名前は開発中のものです。 [sage] 2007/11/10(土) 18:34:59 ID:EfYdmYW2(2/2) AAS
と思ったら出来た
スレ汚しスマソ
325: 名前は開発中のものです。 [sage] 2007/11/13(火) 07:08:47 ID:E7kpa99+(1) AAS
気がつくとWIKIもグーグルの1ページ目だなあ。内容は
初心者向けなのか上級者向けなのか分からないところはあるが……。
326: 名前は開発中のものです。 [sage] 2007/11/19(月) 00:19:07 ID:5fRgCIrj(1) AAS
いいってことよ
327: 名前は開発中のものです。 [sage] 2007/11/28(水) 23:43:23 ID:GQA8QXik(1) AAS
最近、関数や機能の整理ためにクラス使い出したんだけど、
クラス内のメソッド関数にデフォルト引数って使えんの?
「メソッド定義にデフォルト引数は使用できません」
ってエラーになっちゃうんだけど。
マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。
328: 名前は開発中のものです。 [sage] 2007/11/29(木) 01:38:38 ID:YNi9MS+N(1) AAS
メソッドを分割して定義してるなら、上に定数を入れたらできたよ。
329: 名前は開発中のものです。 [sage] 2007/11/29(木) 06:18:36 ID:Z4mGFDpB(1/2) AAS
メソッド定義って出てるからそっちに書いてるんじゃない?
実装側に書かないと。
330: 名前は開発中のものです。 [sage] 2007/11/29(木) 06:23:12 ID:Z4mGFDpB(2/2) AAS
ごめん、違ってた。
忘れてorz
331: 名前は開発中のものです。 [sage] 2007/11/29(木) 21:24:17 ID:vAxuvCot(1) AAS
おお、なるほど。
クラスの定義側で定数入れて、
実装側は引数の宣言だけしておけばいいのか。
定義と実装両方同じにしておかないといけないと思ってましたorz
332: 名前は開発中のものです。 [] 2007/12/10(月) 19:19:39 ID:MKJaX+BI(1) AAS
age
333(1): 名前は開発中のものです。 [sage] 2007/12/11(火) 18:39:15 ID:usuyb1bv(1) AAS
>>2525(1): 名前は開発中のものです。 [sage] 2006/11/27(月) 22:37:20 ID:Vj3QYOmK(1/2) AAS
//グローバル
array@int@4 Status[1000][1000][1000];
OK、ブラクラだ。
∧_∧
∧_∧ (´<_` ) 流石だよな俺ら。
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
ガガガガ・・・・
みてarray@int@4 asasas[1000][1000][1000][1000];とかやってみたら超絶重くて大爆笑した
334: 名前は開発中のものです。 [sage] 2007/12/16(日) 16:32:57 ID:F9amJRpt(1) AAS
mp3使えない事に気付かず一日を無駄にした(;´Д`)
335: 名前は開発中のものです。 [sage] 2007/12/17(月) 20:52:51 ID:LmPKFuIU(1) AAS
>>333
array@int asasas[1000000000000];
と消費メモリは同じですからね。大抵応答待ちで固まる。
WIKIの方も更新感謝。ところで、
>プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、
>その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの
>ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。
>それらをダブルクリックすることで、そのショートカットを実行できます。
とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?
336: 名前は開発中のものです。 [sage] 2007/12/19(水) 22:49:07 ID:tM4C1oFz(1) AAS
やってみれば解るけどそのショートカット元のプログラムが実行されるよ
っつーか今まで知らなかったけどこれ便利だな
とりあえず電卓は常に入れておく事にしよう
337: 名前は開発中のものです。 [sage] 2007/12/24(月) 10:38:52 ID:TLPoSiAJ(1) AAS
戦国ランスのソースとかってないのか?
戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)
上下前次1-新書関写板覧索設栞歴
あと 226 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s