[ホーム] [会社概要] [製品] [サポート]
[BASP21 Pro] [FAQ] [アプリケーションガイド] [ユーザガイド] [リファレンス]

BASP21 Pro User Guide

BASP21 Proは、Microsoft プラットフォームで使える純国産のユニバーサルコンポーネントです。 IISアプリケーションのようなサーバサイドだけでなくクライアントのソフトウエアからも 使うことができます。この柔軟性によりBASP21 Pro の豊富な機能を簡単にツールに統合できます。
ここでは、次の環境でのBASP21 Proの使用方法を説明します。


■ ASP(Active Server Pages)

BASP21 Pro は、ASP環境でサーバコンポーネントとして動作します。 IIS3/IIS4/IIS5に対応しています。

ここでは次のトピックを説明します。

■ インスタンス作成
BASP21 Pro オブジェクトは、サーバ スクリプトでServer.CreateObjectメソッドを使って インスタンスを作成します。
VBScript:
Set bobj = Server.CreateObject("basp21pro")
JScript:
var bobj = Server.CreateObject("basp21pro");
BASP21 Proインスタンスは、ASP Session オブジェクトおよび Application オブジェクトには 格納しないでください。
注意:More than two BASP21 Pro instance can not be created by using one script.
'wrong usage:
Set bobj1 = Server.CreateObject("basp21pro")
Set bobj2 = Server.CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = Nothing
'right usage:
Set bobj1 = Server.CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = Server.CreateObject("basp21pro")
Set bobj2 = Nothing
■ Call methods
Call BASP21 Pro methods as follows.
bobj.method name parameter
refer to BASP21 Pro referencefor BASP21 Pro methods parameters may vary depending on methods.
■ Configure property
property is used for configure/refer to the condition of Objects. BASP21 Pro's property can be configured as follows.
bobj.property name = parameter
refer to BASP21 Pro Reference.for BASP21 Pro properties.
■ configure environments
BASP21 Pro can configure the default value of property and other environments. so you can easily configure various environments(e.g. environment for testing,operation,ユーザ別) and that minimize the modification of scripts.

Env propertycan configure the environment for BASP21 Pro objects It makes script simple by configuring paramaters that vary on environments by using Env property. Use Env property as follows.

bobj.Env = "env name"
bobj.Env = "*"
env name is one of the section names in BASP21P.INI file Specifying "*" can make it current security context(user acount) name. If using IIS anonymous connection,the env name is "IUSR_machine name"

example of BASP21P.ini file to configure the default value of SendMail method.

bobj.Env = "iis5"
mailto = "hoge@basp21.com"
subj = "document"
body = "Hello!" & vbCrLf & "this is a document."
files = bobj.Home & "\good.doc"
bobj.SendMail mailto,subj,body,files

basp21p.ini file
[global]
allow=env
inifileversion=500
license=GT20000301
[iis5]
allow=sendmail
server=smtp-server
mailfrom=your@basp21.com
home=c:\test\iis5
[IUSR_MACHINE]
allow=sendmail
server=smtp-server
mailfrom=your@basp21.com
smtp-server is selected as SMTP server,and your@basp21.com is used for mailfrom address by SendMail method described above.

you can also dynamicaly specify SMTP server name and mailfrom address dynamically.

bobj.Server = "smtp-server2"
bobj.MailFrom = "her@basp21.com"
bobj.SendMail mailto,subj,body,files

You can specify home directory name using home parameter The directory name specified by home paramater can be reffered using period by the parameter that specify other directory name. It is created at execution of Env configuration, if no directory is specifed by home parameter,mailbox parameter,mailqueue paramater,monitor parameterパラメータで

[user1]
deny=execute,showdialog,fireevent
home=c:\app1\user1
mailbox=.\mailbox
mailqueue=.\mailqueue
monitor=.\mon

BHELPER.EXEをv オプションで起動するとEnv名に 対応するパラメータ一覧をダイアログ表示できます。 コマンドプロンプトで以下のように -e パラメータで確認したいEnv名を指定します。

bhelper -e iis5 -v
■ エラー処理
BASP21 Proオブジェクトは、メソッドエラー時の原因調査や適切なエラー処理を 強力にサポートする機能を持っています。 ログ取得機能を使うと呼出したメソッドのパラメータや実行結果、実行時間などが ログファイルにテキスト形式で記録されます。

Trapプロパティは、エラー発生時にスクリプトを中断することができます。

bobj.Trap = 1
bobj.SendMail mailto,subj,body,files

IsErrorプロパティは、メソッドがエラーかどうか判定します。

bobj.SendMail mailto,subj,body,files
If bobj.IsError Then
   msg = bobj.LastMsg
End If
■ メソッド実行制限
BASP21 Proオブジェクトは、Envプロパティで指定する環境ごとにメソッドやプロパティの 実行を制限することができます。 BASP21P.INIファイルのallowパラメータで許可する 名前を列挙し、denyパラメータで許可しない名前を 指定します。
basp21p.iniファイル
[global]
allow=env
inifileversion=500
license=GT20000301
[iis5]
deny=rcvmail,readmail
server=smtp-server
mailfrom=your@basp21.com
[upload]
allow=formsaveas,form
注意:ひとつのEnv内でallowパラメータとdenyパラメータを同時に指定できません。
■ IIS認証
ASPファイル上のBASP21 Proオブジェクトは、IIS認証のセキュリティコンテキストで動作します。 匿名接続の場合は、"IUSR_マシン名"アカウントとなります。 ただし、Processメソッドで外部プロセスとして 実行するメソッドは、"IWAM_マシン名" または "SYSTEM" アカウントで実行されます。 どのセキュリティコンテキストで実行されたのかは、ログレコード のメッセージ種別 begin (メソッド開始)に記録されます。

BASP21 Proオブジェクトがファイルやディレクトリのアクセスに失敗するときは、 "IUSR_マシン名"アカウントがターゲットに適切なアクセス権を持っているかどうか確認してください。

■ メソッドのプロセス分離
ASPアプリケーションの中には、クライアントにすぐ応答を返す必要がない処理が 含まれることがあります。 他のコンピュータと通信を伴うメール送信などは、メソッドを別プロセスで実行すると クライアント応答性および他のASPアプリケーションに好ましい影響を与え、Webサーバの信頼性を 向上させることができます。

BASP21 Proには、メソッドを別プロセスで実行する以下の機能があります。

BHELPER.EXEは、BASP21 Proオブジェクトをラップした Win32アプリケーションです。 Windows NT/2000 のATコマンドとBHELPER.EXE を組合わせて使うと、 BASP21 Proメソッドをスケジュールして実行することができます。 次の例は、毎週金曜日の18:00にFlushMailメソッド をATコマンドで実行します。
at 18:00 /every: f /interactive bhelper -e env1 flushmail
Processメソッドは、指定したメソッドを別プロセスで実行します。 次の例は、送信メールキューが20通になったらFlushMailメソッドを別プロセスで実行します。
If 20 < bobj.FileCheck(bobj.MailQueue,1) Then
   rc = bobj.Process("-e test FlushMail")
End If 
サーバサイドで別プロセスで実行中のメソッドの進捗状況を確認したり処理をキャンセル する機能はオブジェクトモニターと呼ばれます。
■ オブジェクトモニター
通常、ASPサーバサイドスクリプトでは、コンポーネントはセキュリティで保護された デスクトップで実行されます。コンポーネントは、ダイアログやメッセージ送信で ユーザと対話することはできません。

Monitorメソッドを使用すると、 現在の他のBASP21 Proオブジェクトの実行状況に関する情報を取得できます。 同じmonitorパラメータを持つ環境で実行されている オブジェクト単位に情報が取得されます。 monitorパラメータが指定されている場合、monitorパラメータのディレクトリ上に、 メソッドの進捗状況をスレッド単位にモニターファイルに書出します。 サーバサイドで実行中の処理時間が長いメソッドをモニターしたい場合に使うと便利です。

以下のASPページは、BASP21 Proオブジェクトの状況をスレッド単位に5秒ごとに表示します。

<html><head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Refresh" CONTENT="5">
<title>Monitor Page</title></head>
<body>
<%
set bobj = Server.CreateObject("basp21pro")
c = Now()
bobj.Env ="env2:" & c
out = bobj.Monitor()
rc = bobj.Result
If rc > 0 Then
  For Each data in out
    line = Split(data,vbCrLf)
    For Each item in line
      a = a & "<td>" & Server.HTMLEncode(item) & "</td>"
    Next
    a = "<tr>" & a & "</tr>"
  Next
Else
  a = ""
End If
Response.Write "<table border=1 CELLSPACING=0 CELLPADDING=3>"
Response.Write "<tr><th>TID</th><th>Status</th><th>Start-Time" & _
               "</th><th>Log</th><th>Progress</th></tr>"
Response.Write a
Response.Write "</table>"
%>
</body></html>

Cancelメソッドを使って、 他のスレッドで実行中のメソッドをキャンセルすることもできます。

■ ログ収集
BASP21 Proオブジェクトは、メソッドとプロパティの実行状況についてのログエントリを 記録できます。ログデータは、エラートラッキング、パフォーマンス測定、利用状況の評価に 利用します。また、ログデータにユーザデータも記録できますのでデバッグ時に便利です。 ここでは、BASP21 Proオブジェクトのログ機能について説明します。

ログファイル指定
ログファイル名は、BASP21P.INIファイルのlogfileパラメータで 指定します。[global]セクションでlogfileパラメータを指定するか、 Env名で専用のlogfileパラメータを指定すれば、そのEnv名で実行するメソッド、プロパティの エントリのみを該当のログファイルに振り分けることができます。 logfileパラメータがないEnv名の場合は、[global]エントリのlogfileパラメータが選択されます。

[global]
logfile=c:\app1\mainlog.txt
logfilerotate=1024
allow=env
[env1]
logfile=c:\app1\env1\log.txt
logfilerotate=1024
allow=all
[env2]
logrotateパラメータでログファイルの最大サイズを 指定します。ログファイルが最大値に達したとき、別名で以前のログファイルが保存されます。 大きさを指定しないと無制限となりログファイルアクセス時のパフォーマンスに 悪影響を及ぼしますので必ず指定してください。

ログファイルの形式
ログファイルの形式は、ログレコードを参照して ください。
ログエントリ内の区切り文字をlogcsvパラメータ で選択することができます。

ログレベル
ログエントリの書出しレベルは、loglevelパラメータを参照して ください。

ログエントリにクライアントのIPアドレスを含めるには
ログエントリには、Env名が記録されるので、Envプロパティ設定時に ":" で区切って IPアドレスを指定します。

bobj.Env = "IIS5:" & Request.ServerVariables("REMOTE_ADDR")

エラー時のログエントリを別ファイルに記録するには
errorlogfileパラメータを使うとエラーの ログエントリを別ファイルに記録することができます。

errorlogfile=.\err.txt
errorlogfilerotate=1024

ユーザログ
ログエントリには、PutLogメソッドでユーザデータを 記録可能です。

bobj.PutLog "mailaddr = " & mailaddr

ログ読み出し
ReadLogメソッドでログファイルを読み出すことができます。

c=now()    ' 開始時刻
bobj.Env="tatsuo:" & c    ' 開始時刻をマーカーとしてログに書く
bobj.DebugClear 3
bobj.Debug bobj.ReadLog(0,-50,c,50)  ' マーカーを持つログを出力
■ スクリプトのデバッグ
サーバサイドでは、簡単にデスクトップにアクセスできないため、ダイアログ表示など ユーザインタフェースを使ったASPスクリプトのデバッグができません。

PutLogメソッドを使うと任意のデータを ログエントリとしてログファイルに書き込むことができます。 ReadLogメソッドで書き込んだログエントリを 簡単に取得できます。

c=now()    ' 開始時刻
bobj.Env="iis5:" & c    ' 開始時刻をマーカーとしてログに書く
..............
bobj.Putlog datax  ' デバッグ情報
...............
Response.Write bobj.ReadLog(0,-50,c,50)  ' マーカーを持つログをページ出力

■ IE(Internet Explorer)

BASP21 Pro は、Microsoft Internet Explorer 3.02 以上で動作します。
BASP21 Pro ActiveX コントロールは、<OBJECT> タグを使って Web ページに埋め込まれます。

BASP21 Proのメソッドおよびプロパティは、IEがサポートするスクリプトから使うことができます。 スクリプトの記述には、さまざまなスクリプト言語を使用できますが、 Microsoft Visual Basic Scripting Edition (VBScript) と Microsoft の ECMAScript 言語である JScript(NetscapeブラウザはJavaScriptのみサポートしています) の 2 つが最も一般的なスクリプト言語です。 1 つの Web ページに含まれる各スクリプトに対して、異なる記述言語を使用することも可能です。 ブラウザの種類を検出するスクリプトの記述に JScript が使われるようです。 Netscape Navigator でもBASP21 Proを使う場合は、JScriptを選択したほうがいいでしょう。

ここでは次のトピックを説明します。

■ OBJECTタグ
IE上のクライアントスクリプトでBASP21 Pro オブジェクトを使うには、 OBJECTタグを使って、BASP21 Pro ActiceXコントロールを貼り付けます。 OBJECTタグを使わずにCreateObject/ActiveXObjectメソッドでBASP21 Proの インスタンスを作成できますが、BASP21 Proを自動インストールするには OBJECTタグを使う必要があります。
【HTMLソース】
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6"
  CODEBASE="BASP21P.CAB#version=1,0,4,2">
  <PARAM NAME="Env" VALUE="ie4">
</OBJECT>

【説明】
項目説明
ID オブジェクトにつける任意なID。
CLASSID BASP21 ProオブジェクトのクラスID。
CODEBASE BASP21 Proのダウンロード場所を示すURL。
versionを指定しておくとIEの機能によりパソコン上のBASP21 Proのバージョンが古い場合に 常に新しいバージョンがインストールされます。省略可能です。
PARAME NAME 初期化時にBASP21 Proオブジェクトに渡すパラメータ。Envプロパティのみが指定できます。

■ VBScript編
VBScript は VBA のサブセットです。VBScript は大文字と小文字を区別しません。

【イベントプロシージャ】
BASP21 Proイベントプロシージャは、オブジェクト名 + _(アンダーライン) + イベント名で指定します。

【サンプル】
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<TITLE>BASP21 Pro Web Page</TITLE><BODY>
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6"
  CODEBASE="BASP21P.CAB#version=1,0,4,2">
  <PARAM NAME="Env" VALUE="ie4">
</OBJECT>
<SCRIPT>
Sub download_onClick()
  bobj.ShowDialog = 1
  bobj.FireEvent = 1
  rc = bobj.DownLoad("http://basp21.com/b21soft/bnewslog.lzh",bobj.home + "\log.lzh")
End Sub
Sub upload_onClick()
  bobj.ShowDialog = 2
  rc = bobj.UpLoad("http://basp21.com/upload.php3",bobj.home)
End Sub
Sub rcvmail_onClick()
  bobj.ShowDialog = 3
  rc = bobj.RcvMail("","","saveall")
  status = bobj.result
End Sub
Sub bobj_OnLog(log)
   status = log
End Sub
Sub bobj_OnProgress(msg,current,total)
   status = msg
End Sub
</SCRIPT>
<input type=button name=download value=DownLoad>
<input type=button name=upload value=UpLoad>
<input type=button name=rcvmail value=RcvMail>
</BODY></HTML>


■ JScript編
JScript は大文字と小文字を区別します。 リテラルの中で"\" 文字を使う場合は、C言語のように "\\" と2つ指定します。

JScript は、NetscapeブラウザのJavaScriptと互換性のあるスクリプト言語です。

【イベントプロシージャ】
JScriptではBASP21 Proイベントプロシージャは、次のように指定します。

<SCRIPT FOR="オブジェクトID" EVENT="イベントプロシージャ名" LANGUAGE="JavaScript">
</SCRIPT>


【サンプル】
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<TITLE>BASP21 Pro Web Page</TITLE><BODY>
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6"
  CODEBASE="BASP21P.CAB#version=1,0,4,2">
  <PARAM NAME="Env" VALUE="ie4">
</OBJECT>
<script language="JavaScript">
var rc;
function ondownload() {
  bobj.ShowDialog = 1;
  bobj.FireEvent = 1;
  bobj.DownLoad("http://basp21.com/b21soft/log.lzh",bobj.home + "\\log.lzh");
}
function onupload() {
  bobj.ShowDialog = 2;
  bobj.UpLoad("http://basp21.com/upload.php3",bobj.home);
}
function onrcvmail() {
  bobj.ShowDialog = 3;
  bobj.RcvMail("","","saveall");
  status = bobj.result;
}
</script>
<SCRIPT FOR="bobj" EVENT="OnLog(log)" LANGUAGE="JavaScript">
   status = log;
</SCRIPT>
<SCRIPT FOR="bobj" EVENT="OnProgress(msg,current,total)"
 LANGUAGE="JavaScript">
   status = msg;
</SCRIPT>
<input type=button name=download value=DownLoad OnClick="ondownload()">
<input type=button name=upload value=UpLoad OnClick="onupload()">
<input type=button name=rcvmail value=RcvMail OnClick="onrcvmail()">
</BODY></HTML>

■ 進捗ダイアログ表示

次のメソッド実行中は、進捗ダイアログを表示することができます。 Bsendm/Diff/DownLoad/FlushMail/RcvMail/SecureFile/SortFile/UpLoad

進捗ダイアログを表示するには、 ShowDialogプロパティを使います。 ダイアログ表示位置も選択可能です。

  bobj.ShowDialog = 3; // 中央に表示
  bobj.DownLoad("http://basp21.com/b21soft/log.lzh",bobj.home + "\\log.lzh");

■ イベント

イベントには以下の2つがあります。
イベントは、FireEventプロパティで発生を 制御することができます。
  bobj.FireEvent = 1;
  bobj.DownLoad("http://basp21.com/b21soft/log.lzh",bobj.home + "\\log.lzh");

■ BASP21P.INIファイル自動ダウンロード

BASP21P.INIファイルをサーバから自動ダウンロードすることができます。 EnvプロパティでEnv名のあとに"#" で区切って バージョン番号を指定すると inifileversionパラメータの番号と比較して Envプロパティでのバージョン番号が大きい場合に、inifileurlパラメータ のURLからBASP21P.INIファイルがパソコンにダウンロードされます。
OBJECTタグ
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6"
  CODEBASE="BASP21P.CAB#version=1,0,4,2">
  <PARAM NAME="Env" VALUE="ie4#3">
</OBJECT>

BASP21P.INIファイル
[global]
inifileversion=2
inifileurl=http://www.basp21.com/data/basp21p.ini
[ie4]

■ IEによる自動インストール

BASP21 ProコンポーネントをIEのActiveXコントロールのダウンロード機能を使って パソコンへ自動インストールするには次の手順で行います。
  1. BASP21P.CABファイル作成
  2. OBJECTタグを含むインストール用htmlファイル作成
  3. WWWサーバにインストール用htmlファイル/BASP21P.CABファイルを配置
  4. インストール用htmlファイルをインストールしたいパソコンでIEでアクセス

パソコンへ自動インストールするには、CABファイルと呼ばれるインストールファイルが必要です。 CABファイルは、インストールする複数ファイルをひとつにまとめた圧縮ファイルです。 BASP21P.CABファイルを作成するには、 BASP21P.CAB ファイル作成方法を参照してください。

インストール用htmlファイルは、次のようにOBJECTタグにBASP21 Proを含む HTMLテキストファイルです。

<HTML><BODY>
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6"
  CODEBASE="BASP21P.CAB#version=1,0,4,2">
</OBJECT>
</BODYL></HTMLY>
インストール用htmlファイルは、インストール目的のみに用意する必要はありません。 エンドユーザに意識させないようにトップページ内にOBJECTタグを埋め込んでおいたり、 BASP21 Proを使うページでインストールを実行させてもかまいません。

自動インストール時は、IE のセキュリティーレベルを中に設定しておいて下さい。

自動インストールが完了すると次の3つのファイルがWindows\systemディレクトリ (NT/2000 の場合はwinnt\system32)にコピーされます。

注意:CABファイルによる自動インストールではBASP21 Proをインストールする ディレクトリを指定できません。

これ以外のファイルは、一切インストールされません。

■ BASP21P.CAB ファイル作成方法

ここでは、インターネットを介して BASP21 Pro ActiveXコントロールを頒布するための BASP21P.CAB ファイルの作成方法について説明します。 BASP21P.CAB ファイルは、Microsoftが提供しているキャビネット開発キットに含まれる CABARC.EXEで簡単に作成することができます。

BASP21P.CABファイルを作成するには次の手順で行います。

  1. キャビネット開発キットのダウンロード
  2. BASP21P.INFファイル作成
  3. BASP21P.INIファイル作成
  4. CABARC.EXEでBASP21P.CABファイル作成

1.キャビネット開発キットのダウンロード
キャビネット開発キット (CABinet Development Kit) は、Microsoft の開発者向け Web サイト http://msdn.microsoft.com/workshop/management/cab/cabdl.asp で入手できます。ダウンロードファイル名は、cab-sdk.exe(548KB)です。

このファイルは、自己解凍形式ですのでダブルクリックして解凍します。 解凍したディレクトリのbinサブディレクトリのCABARC.EXEを適当なディレクトリ(例:c:\basp21cab)にコピーします。 BASP21P.CABファイル作成に必要なファイルは、キャビネット開発キットのうちでCABARC.EXEのみです。

2. BASP21P.INF ファイル作成
BASP21P.INF ファイルは、BASP21 Proコンポーネント一式をインストールまたはダウンロードする 必要のあるファイル (DLL やその他の ファイルなど) を指定するテキスト ファイルです。 INF ファイルを使用すると、必要なすべてのファイルをまとめて 1 つの CAB ファイルに圧縮できます。 BASP21P.INF ファイルは、CABARC.EXEのパラメータファイルとなります。

以下の BASP21P.INF ファイルをCABARC.EXEをコピーしたディレクトリ (例:c:\basp21cab)にコピーします。

[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
BASP21P.dll=BASP21P.dll
Bhelper.exe=Bhelper.exe
basp21p.ini=basp21p.ini

[BASP21P.dll]
file-win32-x86=thiscab
RegisterServer=yes
clsid={EC0C18A0-4D5E-11D4-896C-00000E4E0AD6}
DestDir=11
FileVersion=1,0,x,x

[Bhelper.exe]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=1,0,x,x

[basp21p.ini]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=1,0,x,x

; end of INF file
FileVersionを現在のBASP21P.DLLのファイルバージョンに変更します。 BASP21P.DLLファイルのバージョン番号を取得するには、エクスプローラでファイルを右クリックします。 表示されたメニューの [プロパティ] をクリックし、ダイアログ ボックスの [バージョン情報] タブをクリックします。

"DestDir" は、ファイルのロード先ディレクトリです。"11" はシステム ディレクトリ WINDOWS\SYSTEM または WINNT\SYSTEM32 を示します。 BASP21P Pro は、システムディレクトリに配置する必要があります。

"clsid" は、BASP21 Pro ActiveXコントロールの CLSID です。

3. BASP21P.INI ファイル作成
BASP21P.INIファイルは、BASP21 Proの環境設定ファイルです。 BASP21P.INIファイルは、BASP21 Proの機能により最新バージョンを自動ダウンロードできますので、 CABファイルに含めるBASP21P.INIファイルは最低限のパラメータのみを指定します。

以下の BASP21P.INI ファイルをCABARC.EXEをコピーしたディレクトリ (例:c:\basp21cab)にコピーします。

[global]
license=your-license
inifileversion=1
inifileurl=http://basp21.com/data/basp21p.ini
allow=env
4. CABARC.EXEでBASP21P.CABファイル作成
最後のステップでCABARC.EXE ユーティリティを実行して、BASP21P.CAB ファイルを作成します。 CABARC.EXE は、すべての関連ファイルが入っているディレクトリで実行する必要があります。 コマンド ラインで、BASP21P.INFファイルでの指定順にソース ファイルを指定し、 最後に BASP21P.INF ファイルを指定します。

c:\basp21cab\CABARC -s 6144 BASP21P.CAB BASP21P.DLL BHELPER.EXE BASP21P.INI BASP21P.INF

作成されたBASP21P.CAB ファイルの内容は、BASP21P.DLL BHELPER.EXE BASP21P.INI の 圧縮バージョンと、BASP21P.INF で圧縮ファイルを抽出するのに必要な情報です。

-s オプションは、キャビネット内にコード署名用のスペースを確保します。


■ WSH(Windows Scripting Host)

WSH環境では、VBScript または JScript からBASP21 Pro オブジェクトが使えます。

【VBScript】

インスタンス作成
   set bobj = WScript.CreateObject("basp21pro"[,"basp21pro_"])
解説
WscriptオブジェクトのCreateObjectメソッドでBASP21 Proのインスタンスを作成します。
WscriptオブジェクトのCreateObjectメソッドの第2パラメータは、イベントハンドラーの
プリフィックス名を指定します。プリフィックス名は、アンダーラインで終了しなければなりません。

注意:BASP21 Proインスタンスは、同一スクリプトからは同時に2個以上作成できません。
'誤った使い方:
Set bobj1 = WScript.CreateObject("basp21pro")
Set bobj2 = WScript.CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = Nothing
'正しい使い方:
Set bobj1 = WScript.CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = WScript.CreateObject("basp21pro")
Set bobj2 = Nothing

使用例
set bobj = WScript.CreateObject("basp21pro","basp21pro_")
bobj.Env = "env1"
bobj.FireEvent = 1
bobj.DebugClear 1
rc = bobj.DownLoad("http://basp21.com/index.html","c:\test1\index.html")
bobj.Debug rc & " " & bobj.LastMsg
Set bobj = Nothing
Sub basp21pro_OnProgress(msg,total,current)
  bobj.Debug msg
End Sub
WScript.Quit

【JScript】

インスタンス作成
   var bobj = new ActiveXObject("basp21pro");
解説
JScript では、ActiveXObjectオブジェクトでBASP21 Proのインスタンスを作成します。
イベントハンドラーの設定は、WscriptオブジェクトのConnectObjectメソッドを使います。
使用例
var bobj = new ActiveXObject("basp21pro");
WScript.ConnectObject(bobj,"basp21pro_");
bobj.Env = "env1";
bobj.FireEvent = 1;
bobj.DebugClear(1);
rc = bobj.DownLoad("http://basp21.com/index.html","c:\test1\index.html");
bobj.Debug(rc & bobj.LastMsg);
delete bobj;
function basp21pro_OnProgress(msg,total,current)
{
  bobj.Debug(msg);
}

■ Visual Basic Application (VBA)

Visual Basic Application(VBA)環境では、事前バインディングまたは実行時バインディングの いずれかでBASP21 Proを使用できます。
Excel 2000 でのVBAを例に説明します。 まず、事前バインディングを使用するには、[ツール]-[マクロ]-[Visual Basic Editor] で Visual Basic Editor プロジェクトを開きます。 [ツール]-[参照設定] ダイアログ ボックスの [参照可能なライブラリ ファイル] ボックスで [BASP21 Pro ActiveX Control] をチェックします。 BASP21 Proオブジェクトを参照するオブジェクト変数を宣言および初期化します。
Dim bobj As basp21p
Set bobj = New basp21p
オブジェクト型として宣言されるオブジェクト変数を CreateObject 関数で使用して、 実行時バインディングでオブジェクト変数を初期化する方法もあります。
Dim bobj As Object
Set bobj = CreateObject("basp21pro")
注意:BASP21 Proインスタンスは、同一スクリプトからは同時に2個以上作成できません。
'誤った使い方:
Set bobj1 = CreateObject("basp21pro")
Set bobj2 = CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = Nothing
'正しい使い方:
Set bobj1 = CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = CreateObject("basp21pro")
Set bobj2 = Nothing
使用例
フォームのボタンが押されたらセルにBASP21 Pro のバージョンを設定します。
Private Sub CommandButton1_Click()
  Dim bobj As basp21p
  Set bobj = New basp21p
  ActiveSheet.Cells(1, 1) = bobj.Version
End Sub

■ Visual Basic 5.0/6.0

Visual Basic 5.0/6.0環境では、事前バインディングまたは実行時バインディングの いずれかでBASP21 Proを使用できます。
事前バインディングを使用するには、[プロジェクト]-[参照設定] ダイアログ ボックスの [参照可能なライブラリ ファイル] ボックスで[BASP21 Pro ActiveX Control] をチェックします。 BASP21 Proオブジェクトを参照するオブジェクト変数を宣言および初期化します。
Dim bobj As basp21p
Set bobj = New basp21p
オブジェクト型として宣言されるオブジェクト変数を CreateObject 関数で使用して、 実行時バインディングでオブジェクト変数を初期化する方法もあります。
Dim bobj As Object
Set bobj = CreateObject("basp21pro")
注意:BASP21 Proインスタンスは、同一スクリプトからは同時に2個以上作成できません。
'誤った使い方:
Set bobj1 = CreateObject("basp21pro")
Set bobj2 = CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = Nothing
'正しい使い方:
Set bobj1 = CreateObject("basp21pro")
Set bobj1 = Nothing
Set bobj2 = CreateObject("basp21pro")
Set bobj2 = Nothing
使用例
フォームのボタンが押されたらBASP21 Pro のバージョンを表示します。
Private bobj As basp21p
Private Sub Command1_Click()
  Command1.Caption = bobj.Version
End Sub

Private Sub Form_Load()
  Set bobj = New basp21p
End Sub

■ Visual C++ 5.0/6.0

Visual C++ 5.0/6.0環境では、スマートポインタを使って BASP21 Proオブジェクトに アクセスする方法を説明します。 スマートポインタを使うにはタイプライブラリ(basp21pro.tlb)を #import ディレクティブで指定します。 タイプ ライブラリの内容は COMインタフェースのC++ クラスに変換されます。
注意:BASP21 Proインスタンスは、同一スレッドからは同時に2個以上作成できません。
#import "c:\\basp21p\\basp21pro.tlb" no_namespace
#import は、C++ ソース コードでタイプ ライブラリの内容を再構築する 2 つの ヘッダー ファイルを作成します。
basp21pro.tlh ...... プライマリヘッダファイル
basp21pro.tli ...... セカンダリヘッダファイル
使用例1 BASP21 Pro のバージョンと環境パラメータを表示します。
#import "c:\\basp21p\\basp21pro.tlb" no_namespace
//........................
if (S_OK != CoInitialize(NULL))
  return false;
Ibasp21pPtr pIBasp21(__uuidof(basp21p));
_bstr_t envbstr = "env1";
pIBasp21->PutEnv(envbstr);
_bstr_t retbstr = pIBasp21->GetVersion();
retbstr += "\r\n" +  pIBasp21->GetEnv();
MessageBox(NULL,retbstr,"",MB_OK);
CoUninitialize();
//................
使用例2 ReadDirメソッドの戻り値の配列データにアクセスする方法。
Ibasp21pPtr pIBasp21(__uuidof(basp21p));
pIBasp21->PutEnv(OLESTR("env1"));
_bstr_t para = "c:\\windows\\*.*";
_variant_t retv = pIBasp21->ReadDir(para);  // _variant_ で戻り値を受け取る
long rc = pIBasp21->GetResult();
if (rc <= 0) {
    _bstr_t msg = pIBasp21->GetLastMsg();
    MessageBox(NULL,msg,NULL,MB_OK);
    return false;
}
int type,arraysize;  // GetVariantArray の戻り値
char* data = GetVariantArray(retv,&type,&arraysize);  // _variant_t から文字列に変換

// [in] _variant_t vval 
// [out] int *type  0: バイト配列
//                  1: 文字配列  
// [out] int *arraysize  配列数
// 戻り値 : バイト配列の場合:バイトデータ先頭アドレス
//          文字列配列の場合:CRLF で区切られたデータ
char *GetVariantArray(_variant_t& vval,int *type,int *arraysize)
{
    _variant_t v = vval;
    VARTYPE vt = v.vt;
    *type = *arraysize = 0;
    // 参照タイプならアドレスを指定	
    if (vt == (VT_VARIANT | VT_BYREF)) {
        v = v.pvarVal;
        vt = v.vt;
    }
    if ( (vt & VT_ARRAY) == 0) // ARRAY タイプ以外?
        return NULL;
    SAFEARRAY *psa = v.parray;
    HRESULT hr;
    LONG cElements, lLBound, lUBound;
    // 1次元配列以外?
    if (SafeArrayGetDim(psa) != 1)
        return NULL;
    // 配列の開始位置
    hr = SafeArrayGetLBound(psa, 1, &lLBound);
    if (FAILED(hr))
          return false;
    // 配列の終了位置
    hr = SafeArrayGetUBound(psa, 1, &lUBound);
    if (FAILED(hr))
         return false;
    VARIANT *data;
    // 配列設定データアドレス
    hr = SafeArrayAccessData(psa, (LPVOID*)&data);
    if (FAILED(hr))
         return false;
    // 配列数設定
    *arraysize = cElements = lUBound-lLBound+1;
    if (vt & VT_UI1) {	// バイト配列ならそのままコピー
        char *buff = new char[cElements+1];
        if (buff == NULL)
            return NULL;
        memcpy(buff,data,cElements);
	buff[cElements] = 0;
	SafeArrayUnaccessData(psa);
	return buff;
    }
    *type = 1; // 文字列タイプ設定
    int blen = 4096;
    int clen = 0;
    char *buff = new char[4096];   // 初期バッファー 4KB
    if (buff == NULL)
        return false;

#define    CRLF    "\r\n"
    // 配列データを CRLF で区切って文字列としてコピー
    for (int i = 0; i < cElements; i++) {
        _bstr_t bx = data[i].bstrVal;  // _bstr_t で受けると
        int len = lstrlen(bx);         // クラスがascii自動変換してくれる
        if ((len + clen + 3) > blen) { // バッファーサイズオーバー?
            char *tp = new char[blen+4096]; // サイズを増やす
            if (tp) {
                memcpy(tp,buff,clen+1);
                delete [] buff;
                buff = tp;
                memcpy(buff+clen,(char*)bx,len);
                memcpy(buff+clen+len,CRLF,2);  // 区切り文字 CRLF
                clen += len + 2;
                buff[clen] = 0;
                blen += 4096;
            }
	} else {
            memcpy(buff+clen,(char*)bx,len);
            memcpy(buff+clen+len,CRLF,2);  // 区切り文字 CRLF
            clen += len + 2;
            buff[clen] = 0;
        }
    }
    SafeArrayUnaccessData(psa);
    return buff;
}
使用例3 Sortメソッドに配列データを渡す方法。
Ibasp21pPtr pIBasp21(__uuidof(basp21p));
pIBasp21->PutEnv(OLESTR("env1"));
char *pdata[] = { "xx","bb","aa"};  // 配列データ
_variant_t vb = PackBSTRArray(pdata,3);  // VARIANT+SAFEARRAY 作成
if (!(vb.vt & VT_ARRAY)) // 作成 OK ?
    return false;
int opt = 0,offset1 = 0,length1 = 0,offset2 = 0,length2 = 0;
_variant_t retv = pIBasp21->Sort(vb,opt,offset1,length1,offset2,length2);

// 文字列配列からVARIANT+SAFEARRAY 作成
VARIANT PackBSTRArray(char** data,int item)
{
    VARIANT v;
    V_VT(&v) = VT_I4; // エラー時は、数字データを返す
    V_I4(&v) = 0; 
    _variant_t vt;
    HRESULT hr;
    SAFEARRAYBOUND sabound[1];  
    SAFEARRAY * psa = NULL;

    sabound[0].cElements = item ;
    sabound[0].lLbound = 0;    
    psa = SafeArrayCreate(VT_VARIANT, 1, sabound);  //1次元のSAFEARRAY
    if (psa == NULL)
        return v;
    LPVARIANT rgElems;
    hr= SafeArrayAccessData(psa,(LPVOID*)&rgElems); //配列要素アドレス
    if (FAILED(hr))
        return v;
    for (int i = 0;i<item;i++) {
        _variant_t bstr = data[i];  // BSTR 作成
        rgElems[i] = bstr;          // BSTR 設定
        bstr.Detach();              // Detach
    }
    SafeArrayUnaccessData(psa);	// 要素アクセスのアンロック
    VariantClear(&v);    // VARIANT のSAFEARRAYタイプとして作成
    V_VT(&v) = VT_ARRAY | VT_VARIANT;
    V_ARRAY(&v) = psa;    // SAFEARRAYポインタを設定
    return v;
}
使用例4 BinaryWriteメソッドにバイト配列データを渡す方法。
Ibasp21pPtr pIBasp21(__uuidof(basp21p));
pIBasp21->PutEnv(OLESTR("env1"));

char pdata[] = "abcdefhghi";
_variant_t vb = PackByteArray(pdata,lstrlen(pdata));
if (!(vb.vt & VT_ARRAY))
    return false;
int mode = 0;
_bstr_t fname = "c:\\temp\\data.txt";
long rc = pIBasp21->BinaryWrite(vb,fname,mode);



_variant_t PackByteArray(char* data,int len)
{
    VARIANT v;
    _variant_t vt;
    HRESULT hr;
    SAFEARRAYBOUND sabound[1];  
    SAFEARRAY * psa = NULL;

    sabound[0].cElements = len ; // バイト数
    sabound[0].lLbound = 0;    
    psa = SafeArrayCreate(VT_UI1, 1, sabound);
    if (psa == NULL) {
        V_VT(&v) = VT_I4; // エラー時は数字タイプを返す
        V_I4(&v) = 0;
        vt = v;
        return vt;
    }
    unsigned char *rgElems;
    hr= SafeArrayAccessData(psa,(LPVOID*)&rgElems);
    if (FAILED(hr)) { // エラー時は数字タイプを返す
        V_VT(&v) = VT_I4;
        V_I4(&v) = 0;
        vt = v;
        return vt;
    }
    memcpy(rgElems,data,len);  // バイト配列設定
    SafeArrayUnaccessData(psa);	// 要素アクセスのアンロック
    VariantClear(&v);    // VARIANT のSAFEARRAYタイプとして作成
    V_VT(&v) = VT_ARRAY | VT_UI1;
    V_ARRAY(&v) = psa;    // SAFEARRAYポインタを設定
	
    vt = v;
    return v;
}


■ コマンドラインツール(BHELPER.EXE)

BASP21 Proオブジェクトをコマンドラインから実行するには、 BHELPER.EXEを使います。 BHELPER.EXEは、BASP21 Proオブジェクトをラップした Win32アプリケーションです。

Processメソッドは、BHELPER.EXE を利用しています。

BHELPER.EXE は、次のような目的で使います。

注意:すべてのメソッドがBHELPER.EXEで利用可能というわけではありません。
以下のメソッドのみがBHELPER.EXE で使えます。
Base64メソッド Bsendmメソッド Cancelメソッド Diffメソッド DownLoadメソッド FileCheckメソッド FlushMailメソッド Kconvメソッド KconvFileメソッド MD5メソッド Monitorメソッド RcvMailメソッド ReadDirメソッド ReadLogメソッド ReadMailメソッド SecureFileメソッド SendMailメソッド SortFileメソッド SortMailメソッド UpLoadメソッド

■ Netscape Navigator

Netscape Navigatorユーザは、BASP21 Proプラグイン (npbasp21.dll)を使うと BASP21 Proのメソッドを実行できます。 Netscape Navigatorは、BASP21 Pro本体(basp21p.dll)のようなActiveX コントロールとは 直接通信できませんので、プラグインを経由してBASP21 Pro機能を実行します。
BASP21 Proプラグインは、<EMBED> タグを使って Web ページに埋め込んで使います。
BASP21 Proプラグインは、Netscape Navigator 3.x 以上で動作します。

BASP21 Proのメソッドは、プラグインからEMBEDタグのパラメータにより直接呼出します。 Navigator 4.x では、LiveConnect機能によりJavaScriptからBASP21 Proのメソッドと プロパティを実行可能です。
注意:Navigator 3.x とNetscape6 ではJavaScriptからBASP21 Proメソッドと プロパティを実行できません。

ここでは次のトピックを説明します。

■ EMBEDタグ
Netscape NavigatorでBASP21 Pro オブジェクトを使うには、EMBEDタグを使って、 BASP21 Proプラグインを貼り付けます。
IE(4.0,5.x)上でもNetscapeプラグイン実行機能を持っていますので、同じEMBEDタグを 使ってNetscapeプラグインを実行できます。 IEでEMBEDタグでBASP21 Proプラグインを実行する場合、JScript/VBScriptからメソッド/ プロパティを実行できません。

IEではActiveXとして使うようにHTMLを共用するには、次のコード セグメントのように、 OBJECT タグ内に EMBED タグをネストさせます。
【HTMLソース】
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6">
<PARAM NAME="Env" VALUE="env1">
   <EMBED  NAME="bobj" TYPE=application/x-basp21-plugin ENV=env1 JAVA=no
     WIDTH=200 HEIGHT=300 DSTYLE=63 
     BGCOLOR=#ffffff FGCOLOR=#000000 BARCOLOR=#eeeeee BARBKCOLOR=#00ff00
     START=Start CANCEL=Cancel AUTOSTART=yes
     EXEC='download http://server/test/hoge.dat,c:\temp\hoge.dat'>
   </EMBED>
</OBJECT>

【EMBEDパラメータの説明】
項目説明
NAME プラグインにつける任意なオブジェクト識別子。
JavaScriptからBASP21 Proオブジェクトにアクセスするときに使います。
TYPE BASP21 ProプラグインのMIME ID。
ENV BASP21 ProのEnvプロパティの初期値。
JAVA=yes|no JavaScriptからBASP21 Proオブジェクトにアクセスするときは、
yes を指定します。
WIDTH プラグイン描画エリアの幅。
HEIGHT プラグイン描画エリアの高さ。
DSTYLE 表示スタイル。ブラウザ上にメソッドの進捗状況をコントロールとして描画
したいときに指定します。
表示したいコントロールを以下の数字の組合わせで指定します。
1 - 進捗状況テキストボックス1。
2 - 進捗状況テキストボックス2。
4 - 進捗状況テキストボックス3。
8 - プログレスバー。
16 - Start/Cancel ボタン。
32 - ログ表示テキストボックス。
BARHEIGHT プログレスバーの高さ。
EDITHEIGHT ログ表示テキストボックスの高さ。
BGCOLOR 背景色を#RRGGBB形式で指定。
FGCOLOR テキスト色を#RRGGBB形式で指定。
BARCOLOR プログレスバー色を#RRGGBB形式で指定。
Windows 95 では無視されます。
BARBGCOLOR プログレスバーの背景色を#RRGGBB形式で指定。
Windows 95 では無視されます。
SHOWDIALOG BASP21 ProのShowDialogプロパティの初期値。
START STARTボタンのキャプション文字。
CANCEL CANCELボタンのキャプション文字。
EXEC プラグインから直接メソッドを呼出したいときに指定。
BASP21 Proメソッドを文字列で指定。
Navigator 3.x とNetscape6 ではこの方法でのみメソッドを実行可。
AUTOSTART EXECパラメータのBASP21 Proメソッドを自動実行したいときyes。
既定値は no。
STATUS ステータスバーに表示するEXECパラメータのBASP21 Proメソッドの実行結果 の出力フォーマット。%d がResultプロパティの値、%sがEXECパラメータの文字列。
既定値は、"%d - %s"。

■ プラグイン表示機能
BASP21 Proプラグインは、Navigatorの画面上に進捗状況を描画する機能を持っています。 プラグインの描画領域に以下の6つのコントロールを表示できます。
- 3つのSTATICコントロール
- プログレスバー
- 開始/キャンセルボタン、
- ログ表示EDITコントロール
DSTYLEパラメータで表示するコントロールを選択できます。
DSTYLE=63 ですべてのコントロールを表示します。
 
DSTYLE=8 でプログレスバーのみを表示した例を示します。
 

描画したくない場合は、HIDDENパラメータを指定します。
<EMBED  NAME="bobj" TYPE=application/x-basp21-plugin ENV=env1 JAVA=yes HIDDEN>

■ プラグインからのメソッド呼出し
EMBEDタグのEXECパラメータを使うとプラグインから直接メソッドを呼出すことができます。 Netscape6は、2001年5月現在、LiveConnect機能をサポートしていないのでEXECパラメータを 使ってメソッドを実行します。EXECパラメータには、プロパティの設定・参照機能はありません。

EXECパラメータは、メソッド名、空白、引数の順に指定します。 メソッド名は、大文字小文字をどちらでもかまいません。 引数の区切りは、カンマを使います。引数の中に空白を含む場合は、引数を "" で囲みます。
EXEC='download http://server/test/data.xls,c:\temp'
EXEC='upload http://server/iis/fileup.asp,"c:\temp dir"'
EXECパラメータのメソッドは、AUTOSTART=yes パラメータでページ表示と同時に実行します。 または、DSTYLEパラメータでSTARTボタンを表示させてボタンクリックで実行できます。
EXECパラメータで実行されたメソッドの結果は、ブラウザのステータスバーに表示されます。

■ JavaScript
Navigator 4.x では、NetscapeのLiveConnect機能によりJavaScriptからBASP21 Proにアクセスできます。 NetscapeのLiveConnect機能は、IEではサポートされていません。 BASP21 ProメソッドをJavaScriptから実行するには、EMBEDタグでJAVA=yes と指定します。
<<Method Name>>
JavaScriptは、大文字小文字を区別しますので正確にメソッド名を記述する必要があります。
<<Property>>
NavigatorのJavaScriptではBASP21 Proプロパティは、プロパティ名の前にsetあるいはgetをつけて 次のように関数で呼び出します。
bobj.setShowDialog(1);
var a = bobj.getShowDialog();
次にプロパティ設定取得関数を示します。大文字小文字を正確に記述してください。
setCodePage getCodePage setEnv getEnv setFireEvent getFireEvent
setHome getHome getIsError getLastMsg setMailBox getMailBox
setMailFrom getMailFrom getMailOption setMailOption
getMailQueue setMailQueue getPopServer setPopServer getResult
getServer setServer getShowDialog setShowDialog getTrap setTrap
getVersion


<<Event Procedure>>
NavigatorではBASP21 Proイベントプロシージャは、次のように指定します。
function OnLog(logdata){
  log1 = logdata;
  status = log1;
}
function OnProgress(data,total,current){
  log1 = data + total + current;
  status = log1;
}


<<Sample>>

<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
<TITLE>BASP21 Pro Web Page</TITLE><BODY>
<OBJECT ID="bobj" CLASSID="CLSID:EC0C18A0-4D5E-11D4-896C-00000E4E0AD6">
  <PARAM NAME="Env" VALUE="ie4">
   <EMBED  NAME=bobj TYPE=application/x-basp21-plugin ENV=env1 JAVA=yes HIDDEN>
   </EMBED>
</OBJECT>
<script>
var rc;
function ondownload() {
  var dir = document.bobj.getHome() + "\\log.lzh";
  document.bobj.setShowDialog(1);
  document.bobj.setFireEvent(1);
  status = document.bobj.DownLoad("http://basp21.com/b21soft/log.lzh",dir,"");
}
function onupload() {
  var dir = document.bobj.getHome() + "\\log.lzh";
  document.bobj.setShowDialog(2);
  status = document.bobj.UpLoad("http://basp21.com/upload.php3",dir,"");
}
function onrcvmail() {
  var ar;
  document.bobj.setShowDialog(3);
  ar = document.bobj.RcvMail("","","saveall","");
  status = ar[0];
}
function OnLog(logdata){
  status = logdata;
}
function OnProgress(data,total,current){
  var log1 = data + total + current;
  status = log1;
}
</script>
<FORM>
<input type=button name=download value=DownLoad OnClick="ondownload()">
<input type=button name=upload value=UpLoad OnClick="onupload()">
<input type=button name=rcvmail value=RcvMail OnClick="onrcvmail()">
</FORM>
</BODY></HTML>

■ インストール
インストールファイルのnpbasp21.dllとBasp21p.classをNetscapeの Plug-inディレクトリにコピーして下さい。 標準インストールの場合は、以下のようなディレクトリ名になります。
c:\Program Files\Netscape\Communicator\Program\Plugins 
c:\Program Files\Netscape\Navigator\Program\Plugins 
c:\Program Files\Netscape\Netscape 6\Plugins 

BASP21 Pro本体のbasp21p.dll がインストールされていない場合は、 以下のファイルも同じPlug-inディレクトリにコピーしてください。
basp21p.dll
bhelper.exe
basp21p.ini
この場合、BASP21 Pro本体のレジストリ登録は、BASP21 Proプラグイン(npbasp21.dll) 起動時に自動的に行われます。regsvr32コマンドを実行する必要はありません。

■ Javaの起動時間を早くするには
Navigator 4.x でJavaScriptからBASP21 Pro メソッドを使う場合(EMBEDタグでJAVA=yes)は、 BASP21 Proプラグイン (npbasp21.dll)が内部でJavaを使います。 このJavaの起動が時間がかかる場合があります。 このNavigatorでのJava起動時間を早くするには、以下の方法をお試しください。
Netscapeの\Program\Java\Bin\ ディレクトリの jit3240.dll ファイルを、
 jit3240.bak などに名称を変更します。

[ホーム] [会社概要] [製品] [サポート]
[BASP21 Pro] [FAQ] [アプリケーションガイド] [ユーザガイド] [リファレンス]
<% include("./inc/dbcommon.inc");%> <% echo dispfooter("'02/01/14","'00/09/19");%>