Q&A

  • [일반] 발행전용 Form을 작성하고자 하는데...
1. 자료입력 Unit

procedure TfMbae026.pmdPrintClick(Sender: TObject);

begin

if not Mbap021Dlg(copy(cbxODNO.text,4,9),mskDLVDAT.text,txtSPL.text) then

MessageDlg('주문내역이 없습니다.'

, mtInformation, [mbOk], 0)

else gPMsgHelp(7);

cbxODNO.SetFocus;

end;



2. 자료발행 Unit

unit Mbap021;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Buttons, ExtCtrls, DB, DBTables, Grids, Calendar, ComCtrls,

DBGrids, QuickRpt, Qrctrls;



type

TfMbap021 = class(TForm)

))

((

))

((

function fPrinting(vODNO, vDLVDAT, vSPL:string):integer;

procedure Query1CalcFields(DataSet: TDataSet);

private

{ Private declarations }



public

{ Public declarations }

end;



function Mbap021Dlg(const cODNO, cDLVDAT, cSPL:string): Boolean;



implementation



{$R *.DFM}

uses

MatGVF, MatDM;



function Mbap021Dlg(const cODNO, cDLVDAT, cSPL:string): Boolean;

begin

with TfMbap021.Create(Application) do

begin

if fPrinting(cODNO, cDLVDAT, cSPL) <> 0 then

Result := true

else Result := false;

Free;

end;

end;



function TfMbap021.fPrinting(vODNO, vDLVDAT, vSPL:string):integer;

begin



))

((

))



QuickRep1.Preview;

// QuickRep1.Print;

end;



end.



1번화면에서 입력한 자료를 2번에서 발행하고자 하는게 기본 취지구요

물론 입력화면이 다른 형태로 있으며 각 입력 화면에서

2번 발행 프로그램을 호출하고자 하여

위와 같이 기술하였는데....

2번의 Function fPrinting가 True(정상인쇄)이면

1번 화면에 FormShow Event(화면 초기화)가 발생되네요

FormShow Event가 발생되지 않는 방법이 있는지요?



혹시 발행전용 Unit을 만들수 있는지...?

있다면 어떤 방법이 있는지 지도해주시면 고맙겠어요.



고수오빠~~~~ 좋은 방법 알려주시어요.... 네?

0  COMMENTS