Gecko SDK for Delphi の使い方 初期化編

| コメント(1) | トラックバック(0)

前回は主なファイルの説明だけだったので今回は使い方を簡単に説明。 初期化して終了するだけの単純なコードは以下のとおり。

program GeckoTest001;
uses nsXPCOMGlue, nsError;
var
  rv: Integer;
begin
  // 初期化
  rv := GRE_Startup;
  if NS_SUCCEEDED(rv) then
  begin
    writeln('GRE の初期化に成功しました。');
    // 終了
    GRE_Shutdown;
  end;
end.

GRE_Startup 関数と GRE_Shutdown 関数は nsXPCOMGlue.cpp に含まれる同名の関数に参照カウントを追加してを Delphi に移植したものである。 ほかにも nsXPCOMGlue.pas に含まれる関数の多くは Mozilla のソースコードから移植されている。

このコードが正しく処理されるために必要な条件は次のいずれかである。

  • 実行ファイルが Mozilla をインストールしたディレクトリ内にある。
  • 実行ファイルが GRE をインストールしたディレクトリ内にある。
  • 環境変数 USE_LOCAL_GRE が定義されておらず、かつ GRE のインストール情報がレジストリに記述されている。

GRE_Startup を使う利点は、 Mozilla のディレクトリに実行ファイルを置く必要がない点だ。 適切なバージョンの GRE さえインストールしてあれば Mozilla のコピーをいくつも作る必要も、 Mozilla のディレクトリを汚すこともなくなる。 オリジナルの GRE_Startup に含まれるコードは GRE のバージョンを決め打ちしていて、外部から参照する際に特定のバージョンがインストールされていなければ使用できなかったが、 Delphi 移植版はバージョンと日付が新しい GRE が見つかればそれを使用することにしている。 バージョンについては nsConsts.pas にて記述してある。 逆に本来は gre.config ファイルなどに適切な設定をすることで外部のものを参照できるはずだが、 Delphi には移植していない。 Windows 環境ではまず使わないだろうし。

初期化編はとりあえず説明終わり。

トラックバック(0)

トラックバックURL: http://nesitive.net/mt/tbping/3

コメント(1)

Plz translate to english... I don`t know english but if you translate, i try to understand (from Russia)

コメントする

このブログ記事について

このページは、necottieがOctober 19, 2004 4:18 PMに書いたブログ記事です。

ひとつ前のブログ記事は「Gecko SDK for Delphi」です。

次のブログ記事は「Gecko SDK for Delphi の使い方 コンポーネント編」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。