【Delphi】OCXの作成
Delphiを使って、
OCXの作成をする機会があったのでメモ
【目的】
IEからOCXを登録して、
Windows内の環境変数を取得する。
【環境】
・WindowsXP
・BDS2006
①BDSを起動して、
File->New->Other->ActiveX Library
を選択する。
②今回はDLLではなくOCXを作成したいので、
File->New->Other->ActiveX Form
を選択し追加する。
③tlbファイルが生成される。
Project1.dll -> Project1.ocxに変更されている。
④IActiveFormXにて
New -> Property
を追加
⑤Refreshボタンを押すと、
ActiveFormImpl1にFuncitonが追加される
・Get_Property1
・Set_Property
⑥上記メソッドに取得したい値をガリガリ書く。
Returnの型を変更したい場合は、Project1.tlb
で変更すること。
⑦Buildすると、Project1.ocxが生成される。
⑧Project1.ocx を含めたinfファイルを作成してCABファイルを生成する。
例:inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Project1.ocx=Project1.ocx
[Project1.ocx]
file-win32-x86=thiscab
clsid={9F2DB8B7-29F1-40D3-9CC3-08F919D252C5}
RegisterServer=yes
ここで注意するのはclsidことクラスIDの定義
Project1_TLB.pas内にあるCLASSからIDを取得すること
CLASS_ActiveFormX: TGUID = '{9F2DB8B7-29F1-40D3-9CC3-08F919D252C5}';
⑨CABARC.EXEを使って、CABファイルを作成する。
コマンドラインは
CABARC -s 6144 n Project1.cab Project1.ocx Project1.inf
CABARCの使い方は下記などを参照のこと
http://eternalwindows.jp/browser/activex/activex07.html
⑩生成されたCABファイルをWEBページに置く
⑪HTML側で確認するためのコード
例
⑫WebBrowserを起動し、URLを入力すると、
ActiveXの入力を促される。
ActiveXのインストールを許可しておくか、認証しておくこと
インストールすると、取得した値が表示される。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
クラスIDを同一にすること。
今回はVersion管理していないので注意すること。