문제

.NET EXE에서 오류 레벨 이외의 반환 값을 얻을 수 있습니까? exe는 스크립트, 배치 또는 렉스에서 호출됩니다.

그렇지 않은 경우 Batch 또는 REXX에서 어셈블리에서 메소드를 호출하고 리턴 값을 검색 할 수 있습니까?

도움이 되었습니까?

해결책

.NET 실행 파일의 항목 (및 종료) 지점은 다음과 같습니다. 주요 방법, 이것은 어느 쪽이든 선언 된 정적 방법이어야합니다. void 또는 int 반환 유형.

이러한 이유로, 당신은 int.

이것 int 값은 오류 수준입니다 (규칙에 따라 0은 성공을 의미합니다).

당신은 당신의 프로그램에 여전히 당신이 원하는 것을 작성하고 그것을 읽을 수있는 "상태"파일에 쓸 수 있습니다.

다른 팁

C/C ++ 컨텍스트에서는 Main () 메소드의 서명에 따라 다릅니다. 그러나 반품은 int. 따라서 ODED의 제안은 시도해 볼 가치가 있습니다

가능한 대안 솔루션은 .NET 메소드를 stdout에 문자열을 인쇄하도록하는 것입니다. 캠은 rxqueue.exe로 캠을 리디렉션하여 출력을 Rexx를 찾을 수있는 장소에 배치하는 것입니다. 그런 다음 Rexx 래퍼에서 반환을 기다리고 큐에서 뽑을 때 기다립니다.

'external.exe | rxqueue'
line. = ''
ndx = 0
do while queued() > 0
   ndx = ndx + 1    
   parse pull line.ndx
end 
line.0 = ndx  /* this is unnecessary but is a common practice to store the 
                 stem size in leaf 0 */

/* now deal with your results */
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top