EXE에서 오류 레벨 이외의 다른 방법을 얻으십시오
-
19-09-2019 - |
문제
.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 */
제휴하지 않습니다 StackOverflow