2014-09-16 7 views
0

우리는 Tcl과 Tk의 차이점과 관련된 문제를 만났습니다.명령 줄 응용 프로그램에서 Tk 위젯 사용

우리는 tcltest 프레임 워크를 사용하여 XML 데이터를 전송하기위한 테스트 도구를 가지고 있습니다.

일반 프로그램 흐름 :

  • XML 파일의 판독 및 DOM 트리 (사용 tdom)

  • 즉, 테스트 로그 출력을 생성 tcltest 사용 (테스트를 실행하는 배열을 설정 생성 관련 정보)

  • 판독 공정 로깅 정보

  • 라 준비 로깅 정보와 텍스 파일은

  • 우리가 문서에 그래픽을 포함 할 새로운 테스트에서 pdflatex

을 사용하여 PDF를 생성합니다. 그래서 우리는 테스트 셋업에서 Tk를로드하고 캔버스에 그래프를 준비하고 캔버스를 파일에 작성합니다. 이 모든 것은 독립 실행 형 테스트 프로그램에서 올바르게 작동합니다.

그러나 우리가 관찰 한 응용 프로그램에 통합되어 테스트가 수행되고 테스트 파일의 끝에 오류없이 프로그램이 끝나지 만 메인 프로그램으로 돌아와서 마지막 세 단계를 수행하지 마십시오 ??? 응용 프로그램의 나머지 코드가 테스트 파일에 포함되어 있으면 프로그램 실행이 제대로 계속됩니다. 아무도 잘못 될지도 모르는 아이디어? 당신의 Tk를로드 할 때 미리 킴의

덕분에

+0

귀하의 질문은 정말로 혼란 스럽습니다. 문제가 실제로 어디에서 발생했는지 ("왜 내 Tcl/Tk 스크립트가 종료되지 않습니까?") 시작 지점이 될 것입니다. –

답변

1

, 그것은 스크립트가 실행을 종료 한 후 이벤트 루프를 실행하는 처리기를 설치합니다. 이것은 적어도 wish 프로그램이 적어도 20 년 동안 어떻게 작동했기 때문입니다. Tcl은 (논리적으로) 응용 프로그램을 설정하고 콜백을 처리하는 데 사용됩니다. 대부분의 GUI 응용 프로그램의 경우 이것은 절대적으로 좋습니다. 귀하의 경우에는 아닙니다.

원하는 출력물 생성이 끝나면 스크립트 끝에 exit을 명시해야합니다.

+0

감사의 말 Donal, 나는 해결책을 두 개의 별도 prograns : 하나는 모든 테스트를 실행하고 Tk는 그림을 생성하는 방법을 사용하여 프로그램을 나눌 것입니다. 미안하지만, 나는 혼란 스럽다. – joheid

+0

@joheid 나는 당신의 설명에서 그것이 당신이 이미하고있는 것이라고 생각했습니다!? (문제를 잘 설명하는 것이 중요합니다.) –

관련 문제