XDW_GetInformationはDocuWorksのシステム情報を取得する関数です。
システム情報とはインストール先のフォルダ、バージョンなどです。
引数
nIndex : 問いあわせる情報
問い合わせに使える値は次の13個
当ページで配布していますヘッダファイルでは次のように移植しています。
XDW_GI_VERSION = 1; XDW_GI_INSTALLPATH = 2; XDW_GI_BINPATH = 3; XDW_GI_PLUGINPATH = 4; XDW_GI_FOLDERROOTPATH = 5; XDW_GI_USERFOLDERPATH = 6; XDW_GI_SYSTEMFOLDERPATH = 7; XDW_GI_RECEIVEFOLDERPATH = 8; XDW_GI_SENDFOLDERPATH = 9; XDW_GI_DWINPUTPATH = 10; XDW_GI_DWDESKPATH = 11; XDW_GI_DWVIEWERPATH = 12; XDW_GI_DWVLTPATH = 13;
各値の意味はDocuWorks SDK 69ページにも書いてありますが、一応転載。
XDW_GI_VERSION インストールされているDocuWorksのバージョン
XDW_GI_INSTALLPATH DocuWorksのインストールディレクトリ
XDW_GI_BINPATH DocuWorksの実行ファイルがインストールされているディレクトリ
XDW_GI_PLUGINPATH DocuWorks Deskのプラグインモジュールがインストールされているディレクトリ
XDW_GI_FOLDERROOTPATH DocuWorks Deskのフォルダのルートディレクトリ
XDW_GI_USERFOLDERPATH DocuWorks Deskのユーザーフォルダのディレクトリ
XDW_GI_DWINPUTPATH DocuWorks DeskのDocuWorks文書入力用ディレクトリ
XDW_GI_DWDESKPATH DocuWorks Deskの実行ファイルの絶対パス
XDW_GI_DWVIEWERPATH DocuWorks Viewerの実行ファイルの絶対パス
XDW_GI_DWVLTPATH DocuWorks ViewerLightの実行ファイルの絶対パス
(以上はDocuWorks SDK 6.2から転載)
lpszOutput :アウトプットされる情報を格納する変数へのポインタ
nSize :アウトプットされる情報を格納する変数のサイズ
reserved :予約 XDW_NULLを指定
使用方法
まずはnSizeを求めます。
lpszOutputがNullの時は必要なバイト数を返してきます。ここではIndex: Integerをvarで定義。Indexに必要な情報の番号をセット。
たとえばDocuWorksのバージョンを知りたければ XDW_GI_VERSIONもしくは1ですね。
Size := XDW_GetInformation(Index, XDW_NULL, 0, XDW_NULL);
としてSizeに格納。ちなみにSizeは Integerです。
次にTempCharというPCharを定義して、情報を格納します。領域を確保します。
Getmem(TempChar, Size+1);
+1は#0を格納するために必要かな?と思い付けています。
そして
XDW_GetInformation(Index, TempChar, Size, XDW_NULL);
として実行。
ShowMessage( string( TempChar ) );
とすれば「6.2.2」などとダイアログが表示されます。
あ、もちろんTempCharはFreemem(TempChar);として開放しましょう。tryで囲めば安全ですね。