Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  wikifarm  Login

FrontPage

目次

  1. 未分類書き込み
    1. CompoSetup
      1. u/uComponent.pas で定義されている。initialize相当の処理を行う。
      2. control_initializeが呼び出しているが、Component_initialize から呼ぶべきではないのか?((Component_initializeだけにするのが本来だろうが、既に使われているので、削除するのは後にすべき。重複呼び出しがないかどうかの点検が必要))
      3. CCC_new から CCC_allocate + CCC_initialize への構造変更。
      4. 引数は次の順番で並んでいると仮定するが、途中を省略してもよい。
        1. parent:Componentクラスの承継クラスのオブジェクト。なければnil
        2. name:シンボル。なければ「クラス名+番号」の名前になる。Delphiオブジェクトのname属性にもセットされる。
        3. caption/text:文字列。
        4. イベントハンドラ:Procオブジェクト。あれば、そのクラスの DEFAULT_EVENT にセットされる。
    2. CompoAlloc
      1. u\uAlloc.pas で定義され、Pythia.pas でApolloの拡張ライブラリにも公開される。
      2. やっていることは、DelphiのTComponentの下位クラスのオブジェクトに対応するrubyオブジェクトを作成する。
        1. (1)rb_data_object_alloc で Delphiのオブジェクトを data として保持するrubyオブジェクトを作成する。
        2. (2)Delphiオブジェクトのtagに、rubyオブジェクトへの参照をセットする。
        3. (3)イベントハンドラ用のハッシュ(@events)を作成する。
        4. (4)PhiObjectList にDelphiオブジェクトを登録する。((PhiObjectList って何?))
        5. (5)ブロックがあった場合に、実行する????
    3. 外部リンク
      1. http://wiki.fdiary.net/apollo/ Apollo's wiki
    4. exports.inc
      1. exports.inc は ext\ で使わないものは入ってなくてもいいです。([ap-dev:1974] )
    5. Pythia.pas、Pythia.rb、Pythia.bat
      1. Pythia.pas はApolloの拡張ライブラリ(rdb.so など)からApollo本体のライブラリ(phi.so)の関数を呼べるように、関数名とライブラリ名との対応を記述します。たとえば、Form クラスを参照するメソッドは「function ap_cForm: Tvalue; external PhiDLL;」という行で指定しています。
      2. Pythia.rb と Pythia.bat は Pythia.pas を自動作成するためのプログラムです。
  2. FAQ
    1. コンパイルできない
      1. Editor がコンパイルできない。CommXが・・、PrevXが・・。・・サードパーティ製のDelphiライブラリのソースがない。
        1. ソースの先頭にどこから何をダウンロードしてコンパイルしたかが書いてあるはずなので、それをダウンロードして、ソースディレクトリに展開してから、コンパイルしてください。
  3. イベントハンドラ
    1. 関係するファイル・・uCCC.pas には書いてない!
      1. C:/Program Files/Apollo/src/PhiHandle.pas
  4. 内部オブジェクトへの参照か、コピーか。所有関係のあるオブジェクトか、所有関係のないオブジェクトか。
    1. ap_iCCC は、Delphiの所有者オブジェクトと属性オブジェクトとのから、Rubyの属性オブジェクトを作り、所有者オブジェクトとの関係をセットしたうえで、Rubyの属性オブジェクトへの参照を返す、
    2. ap_CCCはDelphiオブジェクトへの参照から、既に作成済みのRubyオブジェクトへの参照を返す。コピーへの参照を返す場合もある。(CCCはクラス名、function ap_iTreeNode(real: TTreeNode; owner: Tvalue): Tvalue; は所有関係のある内部オブジェクトへの参照をかえし、function ap_TreeNode(node: TTreeNode): Tvalue; は所有関係のないオブジェクトへの参照を返す)。
  5. 特殊な構造のオブジェクト
    1. TreeNode

Hikiの書式について

Hiki の書式はオリジナル Wiki に似てますので、オリジナルの書式を知っている方はスムーズにコンテンツを記述することができるでしょう。 ただし、一部、独自に拡張している書式もありますので、詳細については TextFormattingRules を参照してください。

Last modified:2007/10/28 01:47:54
Keyword(s):
References: