Delphi7からJoyWatcherを使用するためActiveXのインストールを行います。
ここでは、以下のActiveXをインストールします。
1.JWRUN030 | 工程図表示 |
2.JwComApi | JoyWatcherサーバとの通信 |
3.JWDBApi | JoyWatcherデータベースとの通信 (JoyWatcher4.0以上) |
以下の説明では、Delphi7は「C:\Program Files\Borland\Delphi7」にインストールされているものとします。
メニューバー[コンポーネント]-[パレットの設定]で「パレットの設定」ダイアログが表示されます。 「追加」ボタンをマウスクリックします。「ページ名の追加」ダイアログが表示されます。 ページ名に「joywatcher」とキー入力します。「OK」ボタンを押し「ページ名の追加」ダイアログを閉じます。 「パレットの設定」ダイアログの「ページ」欄に「joywatcher」が追加されます。 「OK」ボタンを押し「パレットの設定」ダイアログを閉じます。
メニューバー[コンポーネント]-[ActiveXの取り込み]で「ActiveXの取り込み」ダイアログが表示されます。 「JWRUN030 ActiveXコントロールモジュール」を選択します。「パレットページ名」では上記で作成した 「joywatcher」を選択します。「インストール」ボタンをクリックします。
「インストール」ダイアログが表示されます。ここでは、「既存のパッケージへ追加」を選択します。ファイル名は、「dclusr.dpk」を 選択します。「OK」ボタンをクリックします。
以下表示メッセージに従いコンパイルを行います。
[ファイル]-[上書き保存]で保存を行い「パッケージ-dclusr.dpk」ダイアログを閉じます。
同様に「JwComApi ActiveXコントロールモジュール」と「JWDBApiXControl1 Library」をインストールします。
パレット「JoyWatcher」に「JoyWRun」、「JwComApi」、「JWDBApi」が追加されます。
■ JWComApi
インストールされた「JwComApi ActiveX」のソースプログラム「C:\Program Files\Borland\Delphi7\Imports\JWCOMAPILib_TLB.pas」 内の「function TJwComApi.Get_PLCTagValue」と「procedure TJwComApi.Set_PLCTagName」が 以下のように変更されているか確認します。変更されてない時は下記に従いエディタ等で変更し上書き保存します。
・Get_PLCTagValue
function TJwComApi.Get_PLCTagValue(Tag: OleVariant): OleVariant; var InterfaceVariant : OleVariant; begin InterfaceVariant := DefaultInterface; Result := InterfaceVariant.PLCTagValue; end; |
↓ 変更 |
function TJwComApi.Get_PLCTagValue(Tag: OleVariant): OleVariant; begin Result := DefaultInterface.PLCTagValue[Tag]; end; |
・Set_PLCTagName
procedure TJwComApi.Set_PLCTagName(Index: Integer; const Param2: WideString); { Warning: The property PLCTagName has a setter and a getter whose types do not match. Delphi was unable to generate a property of this sort and so is using a Variant as a passthrough. } var InterfaceVariant: OleVariant; begin InterfaceVariant := DefaultInterface; InterfaceVariant.PLCTagName := Param2; end; |
↓ 変更 |
procedure TJwComApi.Set_PLCTagName(Index: Integer; const Param2: WideString); begin DefaultInterface.PLCTagName[Index] := Param2; end; |
■ JWDBApi
同様に「JwDBApi ActiveX」のソースプログラム「C:\Program Files\Borland\Delphi7\Imports\JWDBApiXControl1_TLB.pas」 内の「enum TxMouseButton のための定数」をコメントとし上書き保存します。これは、「 mbLef」、「mbRight」、「mbMiddle」がDelphiの 定義と重なるためです。
// enum TxMouseButton のための定数 type TxMouseButton = TOleEnum; const mbLeft = $00000000; mbRight = $00000001; mbMiddle = $00000002; |
↓ 変更 |
// enum TxMouseButton のための定数 {type TxMouseButton = TOleEnum; const mbLeft = $00000000; mbRight = $00000001; mbMiddle = $00000002;} |
メニューバー[ファイル]-[開く]で「開く」ダイアログを表示します。 Delphi7がインストールされているディレクトリィ内「Lib」ディレクトリィ中の「dclusr.dpk」を選択し 開きます。(C:\Program Files\Borland\Delphi7\Lib\dclusr.dpk)コンパイルを行い保存します。
Delphi7上からJoyWatcher用ActiveXを削除します。メニューバー[ファイル]-[開く]で「開く」ダイアログを表示します。 Delphi7がインストールされているディレクトリィ内「Lib」ディレクトリィ中の「dclusr.dpk」を選択し 開きます。(C:\Program Files\Borland\Delphi7\Lib\dclusr.dpk)
「削除」ボタンをクリックします。「プロジェクトから削除」ダイアログが表示されます。 「JWRUN030Lib_TLB.dcr」と「JWRUN030Lib_TLB」を選択します。「OK」ボタンクリックで削除確認ダイアログが 表示されます。「はい」をクリックします。確認ダイアログは選択数分出ます。
コンパイルボタンをクリックします。確認ダイアログが表示されます。 [ファイル]-[上書き保存]で保存を行い「パッケージ-dclusr.dpk」ダイアログを閉じます。
さらにディレクトリC:\Program Files\Borland\Delphi7\Imports\内の以下のファイルをエクスプローラ等で 削除します。
同様に「JwComApi」、「JWDBApi」を削除します。