Q&A

  • Winexec실행시 FullPath를 주면 실행이 안됩니다...
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없이 수행이 되질 않습니다.

1  COMMENTS
  • Profile
    최용일 2000.05.04 04:14
    안녕하세요. 최용일입니다.



    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없이 수행이 되질 않습니다.