Q&A

  • asp 서버 컴포넌트에서 파라미터 설정방법????
안녕하세요



항상 고수님들의 도움을 많이 받고 있는 자칭 델피언입니다. ^^;



다름이 아니라 서버에 있는 외부프로그램을 실행시키는 기능을 가지는



asp컴포넌트를 만들고 있는데 파라미터가 있는 함수 다음과 같이 만들면



아래와 같은 에러가 발생합니다.

<<<---------------------------------------------------------------------

procedure Texe_unit.winexe(exepath: Pchar);

begin



WinExec(exepath, sw_show);



end;

--------------------------------------------------------------------->>>





의 함수를 asp에서 다음과 같이 실행하면

<<<<---------------------------------------------------------------------

<% set con=server.createobject("exeproj.exe_unit")



con.winexe("C:HNCHWPW.EXE")%>

--------------------------------------------------------------------->>>



다음과 같은 에러가 발생합니다.

<<<---------------------------------------------------------------------

Microsoft VBScript 런타임 오류 error '800a01ca'



변수에 VBScript에서 지원하지 않는 자동화 형식이 사용되었습니다.: 'con.winexe'



/down/test.asp, line 3

--------------------------------------------------------------------->>>







그런데 이상하게 다음과 같이 파라미터없는 프로시저를 만들면 에러가 뜨질않습니다.

<<<---------------------------------------------------------------------

procedure Texe_unit.winexe;

begin



WinExec(Pchar('C:WINDOWSNOTEPAD.EXE'), sw_show);



end;

--------------------------------------------------------------------->>>



<<<<---------------------------------------------------------------------

<% set con=server.createobject("exeproj.exe_unit")



con.winexe %>

--------------------------------------------------------------------->>>



위의 문은 에러가 없는거죠...





며칠째 이문제로 고민하다가 고수님에게 다시 도움을 청합니다.



혹시 다른방법으로 asp로 외부프로그램을 실행시킬수 있는 방법이 있으면



같이 부탁드립니다.



좋은 하루 되세요..

2  COMMENTS
  • Profile
    디밥 2000.09.09 02:31
    procedure Texe_unit.winexe(exepath: Pchar);



    이부분이 잘못 되었거든요...



    Automation 사용시에는 BSTR로 받도록 해야 합니다. (TypeLibrary Editor에서)



    그럼 Implemetation File에는 다음과 같이 나올겁니다.



    procedure Texe_unit.winexe(const exepath: WideString);



    참고로 BSTR을 Delphi에서 구현한 것이 WideString입니다.



    권영택 wrote:

    > 안녕하세요

    >

    > 항상 고수님들의 도움을 많이 받고 있는 자칭 델피언입니다. ^^;

    >

    > 다름이 아니라 서버에 있는 외부프로그램을 실행시키는 기능을 가지는

    >

    > asp컴포넌트를 만들고 있는데 파라미터가 있는 함수 다음과 같이 만들면

    >

    > 아래와 같은 에러가 발생합니다.

    > <<<---------------------------------------------------------------------

    > procedure Texe_unit.winexe(exepath: Pchar);

    > begin

    >

    > WinExec(exepath, sw_show);

    >

    > end;

    > --------------------------------------------------------------------->>>

    >

    >

    > 의 함수를 asp에서 다음과 같이 실행하면

    > <<<<---------------------------------------------------------------------

    > <% set con=server.createobject("exeproj.exe_unit")

    >

    > con.winexe("C:HNCHWPW.EXE")%>

    > --------------------------------------------------------------------->>>

    >

    > 다음과 같은 에러가 발생합니다.

    > <<<---------------------------------------------------------------------

    > Microsoft VBScript 런타임 오류 error '800a01ca'

    >

    > 변수에 VBScript에서 지원하지 않는 자동화 형식이 사용되었습니다.: 'con.winexe'

    >

    > /down/test.asp, line 3

    > --------------------------------------------------------------------->>>

    >

    >

    >

    > 그런데 이상하게 다음과 같이 파라미터없는 프로시저를 만들면 에러가 뜨질않습니다.

    > <<<---------------------------------------------------------------------

    > procedure Texe_unit.winexe;

    > begin

    >

    > WinExec(Pchar('C:WINDOWSNOTEPAD.EXE'), sw_show);

    >

    > end;

    > --------------------------------------------------------------------->>>

    >

    > <<<<---------------------------------------------------------------------

    > <% set con=server.createobject("exeproj.exe_unit")

    >

    > con.winexe %>

    > --------------------------------------------------------------------->>>

    >

    > 위의 문은 에러가 없는거죠...

    >

    >

    > 며칠째 이문제로 고민하다가 고수님에게 다시 도움을 청합니다.

    >

    > 혹시 다른방법으로 asp로 외부프로그램을 실행시킬수 있는 방법이 있으면

    >

    > 같이 부탁드립니다.

    >

    > 좋은 하루 되세요..





  • Profile
    권영택 2000.09.09 02:57
    디밥 wrote:

    > procedure Texe_unit.winexe(exepath: Pchar);

    >

    > 이부분이 잘못 되었거든요...

    >

    > Automation 사용시에는 BSTR로 받도록 해야 합니다. (TypeLibrary Editor에서)

    >

    > 그럼 Implemetation File에는 다음과 같이 나올겁니다.

    >

    > procedure Texe_unit.winexe(const exepath: WideString);

    >

    > 참고로 BSTR을 Delphi에서 구현한 것이 WideString입니다.

    >

    > 권영택 wrote:

    > > 안녕하세요

    > >

    > > 항상 고수님들의 도움을 많이 받고 있는 자칭 델피언입니다. ^^;

    > >

    > > 다름이 아니라 서버에 있는 외부프로그램을 실행시키는 기능을 가지는

    > >

    > > asp컴포넌트를 만들고 있는데 파라미터가 있는 함수 다음과 같이 만들면

    > >

    > > 아래와 같은 에러가 발생합니다.

    > > <<<---------------------------------------------------------------------

    > > procedure Texe_unit.winexe(exepath: Pchar);

    > > begin

    > >

    > > WinExec(exepath, sw_show);

    > >

    > > end;

    > > --------------------------------------------------------------------->>>

    > >

    > >

    > > 의 함수를 asp에서 다음과 같이 실행하면

    > > <<<<---------------------------------------------------------------------

    > > <% set con=server.createobject("exeproj.exe_unit")

    > >

    > > con.winexe("C:HNCHWPW.EXE")%>

    > > --------------------------------------------------------------------->>>

    > >

    > > 다음과 같은 에러가 발생합니다.

    > > <<<---------------------------------------------------------------------

    > > Microsoft VBScript 런타임 오류 error '800a01ca'

    > >

    > > 변수에 VBScript에서 지원하지 않는 자동화 형식이 사용되었습니다.: 'con.winexe'

    > >

    > > /down/test.asp, line 3

    > > --------------------------------------------------------------------->>>

    > >

    > >

    > >

    > > 그런데 이상하게 다음과 같이 파라미터없는 프로시저를 만들면 에러가 뜨질않습니다.

    > > <<<---------------------------------------------------------------------

    > > procedure Texe_unit.winexe;

    > > begin

    > >

    > > WinExec(Pchar('C:WINDOWSNOTEPAD.EXE'), sw_show);

    > >

    > > end;

    > > --------------------------------------------------------------------->>>

    > >

    > > <<<<---------------------------------------------------------------------

    > > <% set con=server.createobject("exeproj.exe_unit")

    > >

    > > con.winexe %>

    > > --------------------------------------------------------------------->>>

    > >

    > > 위의 문은 에러가 없는거죠...

    > >

    > >

    > > 며칠째 이문제로 고민하다가 고수님에게 다시 도움을 청합니다.

    > >

    > > 혹시 다른방법으로 asp로 외부프로그램을 실행시킬수 있는 방법이 있으면

    > >

    > > 같이 부탁드립니다.

    > >

    > > 좋은 하루 되세요..

    >

    >