▼ yumapaさん
レスが遅れて申し訳ありません.
同様な現象がでるように,いろいろやってみましたが,わかりません.
> plTackPrevForm:=TplTackPrevForm.Create(Self);
> plTackPrev1.DataSet:=Form2.Query2;
> plTackPrevFor.ShowModal;
> とするとプレビュー画面が表示された時に
> 全く何も描画されておりません。
これは確認しました.PageNumberがらみのバグですね.
ところで,plTackPrevの仕様は次の考え方で作成しています.
DataSetを動的に設定する場合はカラムも設定する必要がある.
(使用するQueryによってカラムは当然違だろう)
このカラムの設定は,印刷位置,文字のサイズ,等などいいろいろある.
それならば,使用するDataSetをあらかじめOpenしておいて,
OnBeforePageDraw.... などのイベントでコード書いてしまった方がいい.
というものです.
つまり,
Query1.Open;
plTackPrevForm:=TplTackPrevForm.Create(Self);
plTackPrevFor.ShowModal;
として,各イベント内で
plTackPrev1.TextOutLC(Query1.FieldByName('カナ').AsString);
のように.
というわけです.いかがでしょうか.
後,表示したプレビューフォームに,ボタン等を配置して,そのクリックで
procedure TplPrevForm130.plButton1Click(Sender: TObject);
var
RecCnt : Integer;
begin
Query1.Open;
RecCnt:=Query1. RecordCount;
if RecCnt>0 then begin
plTackPrev1.LabelCount:=RecCnt;
plTackPrev1.DataSet:=Query1;
plTackPrev1.PageNumber:=1;
plTackPrev1.Display(plTackPrev1.PageNumber);
end;
end;
ということは可能です.
|