procedure TfPos.N22Click(Sender: TObject);
var fname, Apppath : string;
begin
if MessageDlg('백업을 진행하시겠습니까?', mtConfirmation, mbOkCancel, 0) = mrOk then
begin
panel1.Visible := True;
medate.text := formatdatetime('yyyymmdd',now);
medate.SelectAll;
edate.text := medate.text;
Apppath := extractFilePath(application.exename);
Apppath := copy(Apppath,1,length(Apppath)-7)+'backup';
fname := Apppath+'exp73 POS/POS@POS file='+label2.caption+edate.text+' compress=y buffer=1024000';
winexec(pchar(fname),sw_normal);
showmessage('작업 OK!');
panel1.Visible := False;
end
else showmessage('작업 취소');
end;
Database는 Personal ORacle7입니다.
위에서 winexec('exp73 POS/POS@POS file=test compress=y buffer=1024000',sw_normal)을 사용하면 정상적인 DOS창 화면에서 Export작업을 수행을 합니다. 그런데, 원하는 경로에 Export작업을 하려 Path를 앞에 붙여주면 Error없이 수행이 되질 않습니다.
WinExec로 실행할 때 패스를 이용하실려면 반드시 그 패스에 파일이 있어야 합니다.
> Apppath := copy(Apppath,1,length(Apppath)-7)+'backup';
> fname := Apppath+'exp73 POS/POS@POS file='+label2.caption+edate.text+'
위에서 보면 Apppath(...backup) 에 실행 파일이 있어야 실행이 됩니다.
WinExec는 예외를 발생하지 않습니다. 실행 파일이 없다하더라고 그냥 종료됩니다.
제대로 실행되었는가를 알아보시려면 리턴값을 조사해보세요. 31보다 큰값이
리턴된다면 성공적으로 함수가 수행된것입니다.
^^ 항상 즐코하세요.
표기찬 wrote:
> procedure TfPos.N22Click(Sender: TObject);
> var fname, Apppath : string;
> begin
> if MessageDlg('백업을 진행하시겠습니까?', mtConfirmation, mbOkCancel, 0) = mrOk then
> begin
> panel1.Visible := True;
> medate.text := formatdatetime('yyyymmdd',now);
> medate.SelectAll;
> edate.text := medate.text;
> Apppath := extractFilePath(application.exename);
> Apppath := copy(Apppath,1,length(Apppath)-7)+'backup';
> fname := Apppath+'exp73 POS/POS@POS file='+label2.caption+edate.text+' compress=y buffer=1024000';
> winexec(pchar(fname),sw_normal);
> showmessage('작업 OK!');
> panel1.Visible := False;
> end
> else showmessage('작업 취소');
> end;
>
> Database는 Personal ORacle7입니다.
> 위에서 winexec('exp73 POS/POS@POS file=test compress=y buffer=1024000',sw_normal)을 사용하면 정상적인 DOS창 화면에서 Export작업을 수행을 합니다. 그런데, 원하는 경로에 Export작업을 하려 Path를 앞에 붙여주면 Error없이 수행이 되질 않습니다.