Q&A

  • 도움부탁합니다]Report실행후 동일 App를 다시수행하면 Error가 납니다!!!
수고하십니다.

델파이 4.0버전을 사용하고 있으며 3Tier환경에서 사용합니다.



Server(Pro*C -> 업무처리 Logic이 구사되어 있음)

Tuxedo(중계처리)

Client(관련데이터 송수신 처리)



PC : 256M 866MHZ Win-Me



***미리보기 버튼클릭하여 처리하는 부분은 다음과 같습니다.



procedure TMT7878.PreBtnClick(Sender: TObject);

var

MDIChld : TWnChildForm;

ret : Integer;

tmp_ch : String;

begin

Screen.Cursor := crHourGlass;

if (KeyfldChk(ALL_FLD) = FALSE) then begin

Screen.Cursor := crDefault;

exit;

end;



memset(@ai, 0, sizeof(SUBACT302R_INPDATA)); // ai 초기화

memset(@ao, 0, sizeof(SUBACT302R_OUTDATA)); // ao 초기화



case Dmatoi(sJobgb.Text) of

1,2 : strpcopy(ai.sJobGb, sJobgb.Text); // 업무구분

end;

tmp_ch := Copy(sChgb.Text, 1, 2);

strpcopy(ai.sChgb, tmp_ch);

// strpcopy(ai.sYymm, sYymm.Text); // 해당년월

tmpYyyymm := Edit_Yy.Text + Edit_Mm.Text;

strpcopy(ai.sYymm, tmpYyyymm); // 해당년월



// 출력 Rq

ret := DmRqRp( SERVER, 'bacg302r', '0',

sizeof(SUBACT302R_INPDATA), @ai, @ao, M_Code );



Screen.Cursor := crDefault;

if NOT((ret < 0) OR (M_Code[0] = 'E')) then begin

tmp_yyyy := Edit_yy.Text;

tmp_mm := Edit_Mm.Text;

tmp_Chgb := sChgb_Panel.Caption;

Application.CreateForm( TQT7878, QT7878 );

QT7878.QRPT7878.Preview;

MDIChld := TWnChildForm(MainForm.MDIChildren[0]);

MDIChld.CloseBtn.SetFocus;

QT7878.QRPT7878.Free;

end;

MsgDsp(@M_Code);

sJobgb.SetFocus;

end;



이상의 코드를 사용하고 있습니다.

몇번인지는 정확하지 않으나 여러번 다시 들어가서 미리보기를 실행하면



"Access violation at address FABEC7B5 . Read of address FABEC7B5"

에러 메세지가 나옵니다.

어디가 잘못된 것일까요?



답변주시면 감사하겠습니다.

1  COMMENTS