2010-07-23 2 views
5

Windows 2003 Server에서 DataSnap Delphi 2009 응용 프로그램을 실행합니다. DataSnap 클라이언트와 서버는 Borland Socketserver에서 DCOM을 사용하여 동일한 컴퓨터에 있습니다. 클라이언트는 백그라운드 일괄 작업을 실행합니다.Delphi DataSnap의 오류 메시지 대화 상자를 어떻게합니까?

가끔씩 클라이언트가 서버 응용 프로그램에 연결할 수없고 서버 바탕 화면에 "서버에 연결할 수 없습니다. 네트워크 경로를 찾을 수 없습니다."라는 메시지 대화 상자가 표시됩니다. 또는 "Objectexporter를 찾을 수 없습니다."

델파이 클라이언트 코드는 메시지 대화 상자를 사용하여 오류 또는 예외를 표시하지 않으며 try ... except .. finally ... end를 사용하고 연결 오류를 처리하기 위해 로깅을 사용하므로 대화 상자가 DataSnap 메서드. 이 모달 대화 상자를 숨기는 방법이 있습니까?

는 업데이트 :

while True do 
    begin 
    Connect; 
    while True do 
    begin 
     try 
     DoMyWork; 
     except 
     Break; 
     end; 
    end; 
    Disconnect; 
    end; 

답변

3

솔루션 1) 어쩌면 글로벌 후크를 모든 예외가 낮은 수준의 루틴으로 처리됩니다, 메인 루프는 (처리되거나 처리되지 않은) 분리 및 예외가 발생할 때 다시 연결을 담당 application.onexception 문제를 처리 할 수있는 이상

http://www.chami.com/tips/delphi/011497D.html

솔루션 2)

EurekaLog 또는 MadExcept를 사용하여 응용 프로그램이 오류를 발생시킨 곳을 찾고 오류를 처리하십시오.

용액 3)

응용 프로그램 메시지 대화 상자를 통해 글로벌 후크, 후크 예는 우는 소리입니다

http://delphi.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=delphi&cdn=compute&tm=43&f=22&su=p284.9.336.ip_p504.1.336.ip_&tt=2&bt=1&bts=1&zu=http%3A//www.delphicorner.f9.co.uk/articles/apps7.htm

모든 응용 프로그램의 메시지를 조회하고 그 창을 잡을 때 처리 메시지가 응용 프로그램이 아닙니다. 왜냐하면 나는 지금 messagedlg에 의해 제기 된 wmessage가 정확히 무엇인지 모른다.

도움이 되셨습니다.

감사합니다.

+0

응용 프로그램에서 madExcept 및 예외 로깅을 사용하므로 오류 메시지 상자가 나타나면 예외가 발생하지 않는 것처럼 보입니다. – mjn

관련 문제