C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[29133] Active X 에서의 CreateProcess()
수야!╋ [sooya23] 1581 읽음    2004-03-23 16:33
수야라고합니다...

ActiveX를 제작하였구요

해당 ActiveX에서 제가 만든 프로그램을 실행시켜주는 명령을 수행하게 되는데요

그냥 프로그램을 실행시켰을때와 ActiveX에서 실행시켜주었을때와

다른 Execute에서 실행시켰을때의 결과가 상이하게 다릅니다.

그냥 실행시켰을 경우에는 아무런 무리없이 소켓통신도 원활히 잘 이루어지는데요

일반 실행파일에서도 아무이상 없이 잘 돌아갑니다.

헌데!! ActiveX에서 실행시켰을경우에는 소켓을 작성해놓은 유닛만 사용하게되면 무조건 에러입니다.
(주소값을 넘겨 받아 사용하는 부분은 100% 에러)

에러 조건 기준은 해당 클래스를 new 한뒤 필요한 콜백인자나 IP, port를 설정한 후 Connect를 한 이후부터 이 클래스를 사용하면 잘못된 번지사용이라는 오류가 납니다.
OnCreate에서 사용하게되면 에러하나 없이 깨끗이 죽어버리구요(이런 기술을 익히고싶을 정도로)

CreateProcess 함수 사용은 아래와 같이 하였습니다.

    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );

    // Start the child process.
    if(!CreateProcess(NULL, Temp.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    {
        ShowMessage("프로세스 생성 오류" );
    }

함수를 조밀하게 건들자니 제데로 실행도 안되고해서 도움 요청합니다.

어떤 이유에서일까요...

알려주시고 이왕이면 해결방책도 좀 알려주셨으면 감사드리겠습니다.

해결 방책이 CreateProcess 함수의 설정이라면 조금 자세히 부탁드리겠습니다.

ㅡㅜ

+ -

관련 글 리스트
29133 Active X 에서의 CreateProcess() 수야!╋ 1581 2004/03/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.