DelphiXE(DLL)
○RDFドキュメントデータ設定後、フィールドの値を変更する例(帳票にページ番号を入れる)
type
TByteArray = Array of byte;
var
iDocSize: Longint;
oDocData: OleVariant;
vDocData: Variant;
baDocData : TByteArray;
begin
//印刷を終了します。
ret := jvEndDoc(pid);
//RDFドキュメントデータのサイズを取得します。
iDocSize := jvGetLong(pid, JV_DOCUMENT_SIZE);
if iDocSize > 0 then
begin
// RDFドキュメントデータを取得します。
SetLength(baDocData, iDocSize);
jvGetDocument(pid,baDocData[0]);
// Variant型に変換します。
DynArrayToVariant(vDocData,baDocData, TypeInfo(TByteArray));
// さらにOleVariant型に変換します。
oDocData := vDocData;
end;
//終了処理を実行します。
jvClose(pid);
//プレビューコントロールに描画します。
if iDocSize > 0 then
begin
//プレビューコントロールにRDFドキュメントデータを設定します。
JiveView.ControlInterface.Set_DocumentData(oDocData);
//ページ番号と総ページ数を全ページに入れます。
for i:=1 to lPageNo do
begin
JiveView.Page := i;
JiveView.ControlInterface.Set_FieldData('ページ番号',PAnsiChar(AnsiString(IntToStr(i))));
JiveView.ControlInterface.Set_FieldData('総ページ数',PAnsiChar(AnsiString(IntToStr(lPageNo))));
end;
JiveView.Page := 1;
JiveView.Show;
end;