ModalResult 리턴에 대해서
품목 명칭 찿는 데요 없으면 조회 화면을 띄워서 선택후
A FORM 유닛에서 품목 명칭 찿는 데요 없으면 B FORM 조회 화면을 띄워서 선택후 이때 ModalResult := mrOk 해줌 결과값 1임.
A FORM 결과 FORM ModalResult 항상 2임.
어디가 잘못되었나요?
A UNIT (TfrmDrwMastI) 에서
unit UDrwMastI;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdInsMDForm, Db, DBTables, DBCtrls, StdCtrls, Buttons, ExtCtrls, Mask,
CMEdit, CMDBCombo, CMDBLookupCombo, CMDBEdit, CMGrids, CMDBGrids, Grids,
DBGrids;
type
TfrmDrwMastI = class(TStdlnsMDForm)
LblSuju: TLabel;
EdSCode: TCMEdit;
EdECode: TCMEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
EdDrwName: TCMDBEdit;
EdDrwNo: TCMDBEdit;
EdCust: TCMDBEdit;
EdItem: TCMDBEdit;
EdDesign: TCMDBEdit;
EdHKey2: TCMEdit;
ComboCust: TCMDBLookupComboBox;
ComboItem: TCMDBLookupComboBox;
EdHKey1: TCMEdit;
Label5: TLabel;
EdTKey1: TCMEdit;
Label19: TLabel;
Label20: TLabel;
Label22: TLabel;
Label27: TLabel;
EdCnt: TCMDBEdit;
EdTDesign: TCMDBEdit;
EdfUnit: TCMDBEdit;
EdBigo: TCMDBEdit;
ComboItmCode: TCMDBLookupComboBox;
CMDBGrid: TCMDBGrid;
QItmHMast: TQuery;
DSItmHMast: TDataSource;
QItmTMast: TQuery;
DSItmTMast: TDataSource;
QCstMastH: TQuery;
DSCstMastH: TDataSource;
QryDel: TQuery;
QSujuMast: TQuery;
Label25: TLabel;
EdTotCnt: TCMDBEdit;
BomCopy: TBitBtn;
QBomMast: TQuery;
Query1: TQuery;
Label26: TLabel;
EdKiBonCnt: TCMDBEdit;
Label10: TLabel;
EdMEGbn: TCMDBEdit;
ComboMEGbn: TCMDBComboBox;
QryTSum: TQuery;
qryDetailSujuSeq: TIntegerField;
qryDetailSeqCnt: TIntegerField;
qryDetailItem: TStringField;
qryDetailDesign: TStringField;
qryDetailIOUnit: TStringField;
qryDetailKiBonCnt: TFloatField;
qryDetailCnt: TFloatField;
qryDetailPrice: TFloatField;
qryDetailTaxAmt: TFloatField;
qryDetailVatAmt: TFloatField;
qryDetailMaker: TStringField;
qryDetailBigo: TStringField;
qryDetailWight: TFloatField;
qryDetailSizeX: TFloatField;
qryDetailSizeY: TFloatField;
qryDetailSizeH: TFloatField;
qryDetailMEGbn: TStringField;
qryDetailSujuCode: TStringField;
qryDetailFileGbn: TStringField;
qryDetailSujung: TIntegerField;
Label1: TLabel;
EdCstT: TCMDBEdit;
ComboCstT: TCMDBLookupComboBox;
QCstMastT: TQuery;
DSCstMastT: TDataSource;
EdItName: TDBEdit;
Label6: TLabel;
procedure EdHKey1Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure bitBtnQueryClick(Sender: TObject);
procedure EdHKey2KeyPress(Sender: TObject; var Key: Char);
procedure EdTKey1KeyPress(Sender: TObject; var Key: Char);
procedure EdTKey1Click(Sender: TObject);
procedure bitBtnPostClick(Sender: TObject);
procedure dSrcMasterDataChange(Sender: TObject; Field: TField);
procedure dSrcDetailDataChange(Sender: TObject; Field: TField);
procedure BomCopyClick(Sender: TObject);
procedure EdPriceExit(Sender: TObject);
procedure EdKiBonCntExit(Sender: TObject);
procedure EdTotCntExit(Sender: TObject);
procedure EdTDesignExit(Sender: TObject);
procedure EdMEGbnExit(Sender: TObject);
procedure ComboMEGbnClick(Sender: TObject);
procedure ComboItmCodeClick(Sender: TObject);
procedure EdBigoExit(Sender: TObject);
procedure EdTDesignKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure HdTailSum1(pCode :String; pSeq : Integer) ;
Procedure ItemStore() ;
public
{ Public declarations }
end;
var
frmDrwMastI: TfrmDrwMastI;
mSuju,mMEGbn : String ;
mSeq,mIOGbn : Integer ;
mNKey : ARRAY[0..1] OF Integer ;
mAmt : Double ;
FocusLook: TWinControl;
implementation
Uses Dm,MsgConst,FuncS,UItemSearch ;
{$R *.DFM}
procedure TfrmDrwMastI.EdTDesignKeyPress(Sender: TObject; var Key: Char); 명칭이 없음 조회화면 띄워주고 DB에 넣어줌.
begin
inherited;
If Key = #13 then Begin
// FrmItemSearch := TFrmItemSearch.Create(Salf);
mMItFd[2] := EdTDesign.Text ;
// mItRigh := QItemSearch(mMItFd[2])
if mMItFd[2] <> QItmTMast.FieldByName('Design').AsString THEN Begin <-- 명칭이 같은게 없으면
FrmItemSearch := TFrmItemSearch.Create(SELF); <--
FrmItemSearch.ShowModal;
// FrmItemSearch.Show;
end ;
if FrmItemSearch.ModalResult = mrOK then <--- 여기가 문제임.(FrmItemSearch.ModalResult = 2, mrOK = 1 임
qryDetail.FieldByName('Item').AsString := mMItFd[0] ;
end ;
end;
//------
B FORM (TFrmItemSearch) 임
여기서 A FROM 선언 안해주었음.
procedure TFrmItemSearch.BitOkClick(Sender: TObject);
Var I,K : Integer ;
begin
FOR I := 0 TO dmModule.QItemMast.FieldCount -1 DO
mMItFd[I] := dmModule.QItemMast.Fields.Fields[I].AsString ;
dmModule.QItemMast.Close ;
K := ModalResult ;
// sHOWMESSAGE(INTTOSTR(K) + ' 번') ;
ModalResult:= mrOk ; 여기가 제되대됨.(FrmItemSearch.ModalResult = 2, mrOK = 1 임
Close ;
end;
|