Q. SHIORI みたいなものはありませんか。
A. SHIORI を使って下さい。


文法 Edit

AddItem ブロック内での break はダメゼッタイ Edit

ランタイムエラー Edit

コンパイル時にはエラーにならないが実行時にエラーとなるもの

配列を参照渡し Edit
  • void foo(string &attr[][])
    {
        // hogehoge
    }
    
  • もともと参照渡しなので & は不要。
    • エラーは関数を呼んだ時点か attr にアクセスした時点か要チェック
    • デリファレンスは可能か?
引数として NULL を渡す Edit
  • 2006/10/08
  • 内部エラー:(1689)
  • モジュールを越えるのが問題か?
NULL の比較でエラー? Edit
  • 2006/10/16
  • 内部エラー:(3709)
    if((entry = script_getEntry(section, opt)) == NULL)
    {
    	return "[" + section + "." + opt + "]";
    }
    
  • ここで script_getEntry が NULL を返したときに発生か
  • とりあえず返り値として NULL を返すユーザ関数を作るのはやめたほうがよさげ
  • ↓だとエラーにならない?(2006/11/25)
    • entry = script_getEntry(section, opt)
      if(entry == NULL)
      {
      	return "[" + section + "." + opt + "]";
      }
      
LoadBitmapW でファイルが見つからない? Edit
  • 2006/10/26
  • 内部エラー:Stack under flow(-1)
  • これは意外とクリティカルかもしれんね
不正な代入式:UNKNOWN = string(-1) Edit
  • string hoge[]; hoge = "mogemoge";
    
引数の型が宣言と一致しない:$1(-1) Edit
  • 2006/12/02
    void hoge(int i);
    hoge(Pow(2.0, 4.0));
    
  • リファレンス及び Prototype150.aya には int Pow(double x, double y) とあるが、これって返り値 double でない?
  • とりあえずキャストしてみる: hoge( (int)Pow(2.0, 4.0));
BREGMatch()の引数でパターン末尾の/を忘れる Edit
  • 2014/04/18
  • EAccessViolation(-1)

ayac が落ちる Edit

  • 2006/10/01
    max_pages = ((lengthof pref) / items_per_page) + 1;
    
action 内で関数リファレンスを呼ぼうとする Edit
  • 2006/11/25
    action MouseUpL@(false)
    {
    	void &ref_func(int a) = dummy_func;
    	ref_func(12);
    }
    

while/for ループでの注意 Edit

  • continue は使用できない。

引数として関数をとる関数 Edit

  • int TimerCreate( int interval,
                     int callstyle,
                     void &func( int handle , string param ),
                     string param )
    
  • 引数 void &func(int handle, string param) には void hoge(int handle, string param) { ... } で定義した関数名 (この場合は hoge) を渡す
  • see also: 綾織メモ/リファレンス (参照)

グローバル変数名はモジュール間で重複してはならない Edit

可変長配列の初期値は不定ではない Edit

関数 Edit

StrEncodeURL()の特性 Edit

  • 変換前
     !"#$%&'()+,/:;<=>?@[\]^`{|}~*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
  • 変換後
    +%21%22%23%24%25%26%27%28%29%2B%2C%2F%3A%3B%3C%3D%3E%3F%40%5B%5C%5D%5E%60%7B%7C%7D%7E*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
  • つまり、StrEncodeURL() によって変換される文字は
     !"#$%&'()+,/:;<=>?@[\]^`{|}~

インフォデリで cBeforeNewsPlay() に渡される文字列 Edit

  • 実際には改行なし
    AID=1&
    Title=%94z%90M%83e%83X%83g&
    StartHour=_&
    EndHour=_&
    Day=1111111&
    PlayCount=1&
    StartDate=2005-04-10&
    EndDate=2005-04-11&
    Gender=_&
    Address=_&
    Delimiter=dabad686a866c3f04f438174a7bf4104&
    genre=STDMGR_NH_79&
    Command=normal&
    PlayCounter=1&
    Author=mxproject&
    Author_e_mail=&
    Priority=

TimerCreate() のタイマーは作成した時点で動き出す Edit

  • TimerStart しなくても動いてる様子 (2006/10/16)
  • 最初から呼ばれるとマズイ場合はすぐに TimerStop しておくべきか

GetBitmapIndex() の返り値 Edit

  • リファレンスだとインデックスなしのときは空文字列とあるが実際は NULL が返ってくるっぽい (2006/11/09)

GetHTTP() / ThrowHTTP() の結果 Edit

  • ..\System\HttpResult
  • エラーでないときは 0 みたい (2006/11/16)
  • 権限なしの場合 -1

プロパティに NULL を書き込もうとしても何も起こらない Edit

  • プロパティの値は以前のまま (2006/12/03)

その他 Edit

コンテキストメニューからそれっぽくウィンドウ位置固定/解除 Edit

  • action StartUp@(false)
    {
    	MenuItemAdd("ウィンドウ位置固定(&F)", 0, 100, 1, toggleFixWindow, "");
    	MenuItemSetState("ウィンドウ位置固定(&F)", (GetProperty("VdConfig\\MainWin\\DraggableRect") == "0,0,0,0"));
    }
    
    void toggleFixWindow(string item, string param)
    {
    	if(GetProperty("VdConfig\\MainWin\\DraggableRect") == "0,0,0,0")
    	{
    		PutProperty("VdConfig\\MainWin\\DraggableRect", "");
    		MenuItemSetState(item, false);
    	}
    	else
    	{
    		PutProperty("VdConfig\\MainWin\\DraggableRect", "0,0,0,0");
    		MenuItemSetState(item, true);
    	}
    
    	ReflectConfig();
    }
    
  • VdConfig\MainWin\Fixed を使った方がどう考えても良い (2006-09-26)
    action StartUp@(false)
    {
    	MenuItemAdd("ウィンドウ位置固定(&F)", 0, 100, 1, toggleFixWindow, "");
    	MenuItemSetState("ウィンドウ位置固定(&F)", (GetProperty("VdConfig\\MainWin\\Fixed") == "1"));
    }
    
    void toggleFixWindow(string item, string param)
    {
    	if(GetProperty("VdConfig\\MainWin\\Fixed") == "1")
    	{
    		PutProperty("VdConfig\\MainWin\\Fixed", "0");
    		MenuItemSetState(item, false);
    	}
    	else
    	{
    		PutProperty("VdConfig\\MainWin\\Fixed", "1");
    		MenuItemSetState(item, true);
    	}
    
    	ReflectConfig();
    }
    

起動している他のキャラの検出 Edit

  • キャラクター制作掲示板 - 他のキャラを知る方法
        1. [1743] Re: 他のキャラを知る方法 - 投稿者:中西@プラエセンス 投稿日:03/11/18(Tue) 17:37 <URL>
     
               > 自分のデスクトップで既に起動している他キャラを知る方法はありませんか?
               > L11系を使うのが本当なんでしょうが、サインインせずに知る方法はありませんか?
     
               int L11GetPersonas( int& handle, string PID )
               を使うわけですが,自分のPCについてであれば,PIDに"own"を指定します.
               こうすることで自分自身を指定できますが,この場合は特別処理で,
               サインインしていなくてもL11系関数が利用できます.
    • ローカルのキャラに関してはサインイン不要らしい。

全キャラクターの型番を得る Edit

キャラクタの再起動 Edit

  • exapack.lst を用意しておき、SwitchPackage で起動時と同じパッケージに切り替える

吹き出しにαチャンネルを持つ画像を用いた場合 Edit

  • ブレンディングはできないみたい
  • TransparentBorder プロパティは MsgBox にも適用可能みたい

更新完了時の挙動 Edit

  • 処理系が一旦リセットされるのでグローバル変数などは必要に応じて再度初期化 or プロパティから復帰などの処理が必要
  • see also: タイヤネコの Event.aya
    • 基底状態でなくても再起動するのか要調査 (2006/09/26)
      • 基底状態になるまで再起動されないみたい (2006/10/27)
  • 右クリックメニューはリセットされる (2008/03/11)
  • RegisterMouseUpFunction のコールバックは更新後も効いてる (2008/03/11)
    • でもまあちゃんと初期化しなおしたほうがいいよね

exa バイナリの互換性 Edit

  • PWS2002 向けの ayac でコンパイルした exa ファイルは PWS1.x では実行できない

index.fet が 301/302 の場合、リダイレクト先を追わずにエラーとなる Edit

  • 無限ループするよりはマシってことかしら?
    • http://www.praesens.co.jp/file/pdk/manual/index_c3.html#doc3_1440

      なお,ファイル中に,

      #Reference www.personaware.gr.jp/~haruna/ と記述する事で,"一回だけ"他のURLのindex.fetを参照し,その飛んだ先で通常通りの処理を行います.サイト移転などの際に,一時的に使用することを推奨します.

キャラクタデータのアップロードは全て (テキストファイルであっても) BINARY モードで Edit

  • ローカルで index.fet を生成した場合、アップロード時に文字コードや改行コードが変換されるとハッシュが一致しなくなる

exapack.lst にコメントは書けない Edit

  • 起動時にアドレス違反 (?) とかが発生

SwitchPackage でキャラクタ再起動 Edit

  • exapack.lst がないと SwitchPackage できない
    • 空の exapack.lst を置いておくと SwitchPackage できる (Chararina 3.32β3, 2007/11/02)

キャラデリ先でDBプラグインがロードできない? Edit

  • 2014/03/30

FrontPage