Kuroda Software Service
DLLの利用
  [サイトマップ]

コンテンツ内メニュー

表示モード 全項表示  部分表示



マークの色と認証の関係

一般公開

無料認証

購入認証


認証についての説明

無料アカウント作成フォーム

有料ページ購入フォーム


ほかのコンテンツトップページ

DLLの利用

ExportされたIDiaptchポインターからCOMオブジェクトを生成可能です。

● 下記JScriptはAbout.jsとして、サンプルディレクトリに存在します。

var WIN32;

//#define WIN32 //

WIN32 = new ActiveXObject("HTABOX.Application");

WIN32.ScriptFullName = WSH.ScriptFullName;

//#undef WIN32

var DIR = WIN32.GetScriptDirectory();

var HTA  = WIN32.CreateHtaWindow(DIR + "\\button.htm");

var SCR  = HTA.Script;

var HWND = HTA.FraHwnd;

 

function dll()

{

    var About = WIN32.CoLoadLibrary(DIR + "\\About.dll", "DispPtr");

    About.Func("HTABOXコア2.00", "DLL呼び出しのテストです");

}

SCR.Button1.onclick = dll;

 

HTA.Show(); WIN32.WiteForWindowVisible(HWND);

WIN32.MsgBox("正常終了");

● スクリプトからDLLを利用するメカニズム

C++で書かれたモジュールが、同じくC++で書かれたDLLのプライベートCOMサーバーからインスタンスを生成できるのは当然のことです。しかし、スクリプトにはレジストリに登録されたパブリックCOMサーバーからしかインスタンスを生成できません。HTABOXコアがスクリプトに提供するWIN32.CoLoadLidryは、内部でCoLoadLidryとGetProcAddressを使用し、スクリプトからサイドバイサイドでDLLを利用可能とします。

● ソース隠蔽手段としてのDLL

通常COMDLLは、タイプライブラリやTypeInfoを付加し、内容を公開する方向で作成されます。しかし、製作者の権利を守る意味では、それらの情報は排除すべきです。公開されたIdiaptchポインターに、どんなメソッドが存在しどんな引数であるのかを知っているのは開発者のみであるというポリシーの元で、DLLを作成することは作業効率の面でも有利です。サンプルフォルダには、About.dllを作成する為のAbout.cppが存在します。

 

お問い合わせ
©クロダ ソフトウェア サービス programmed by hidebou