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

ApolloHack's Wiki - FrontPage Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!目次

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

!Hikiの書式について

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