OS : Win2000
tool : Delphi4 c/s
안냐세요.
winshoe로 C/S를 짜는데..신기한게 있어서요.
connect후에 프로그램을 종료하면 disconnect프로시저가 호출됩니다.
그런데. 10053 에러가 나네요.
신기한건 델파이에서 실행하면 에러가 나고
생성된 실행파일을 실행하면 에러가 나지 않는겁니다.
왜 그렇죠? winshoe사용해보신분 설명좀해주세요.
-----connect부분------
try
Client.Connect;
Client.Writeln('Welcome!!');
RecvThread := TRecvThread.Create(False);
ClientStatusFlag := True;
except
on EWinshoeSocketError do begin
ShowMessage('서버에 연결할수 없어여!!');
Application.Terminate;
end;
end;
--------disconnect-------------------
procedure TmainFrm.disconnect;
begin
if ClientStatusFlag then begin
ClientStatusFlag := False;
RecvThread.Terminate;//메세지Receive쓰레드
repeat
Application.ProcessMessages;
until RecvThread.Terminated;
Client.Disconnect;
end;
end;
----------formclose시 disconnect를 호출----------------
procedure TmainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
disconnect;
Action := caFree;
end;
말씀하신 에러가 예외인것 같군요. 델파이에서는 특별히 옵션에서 바꾸어 주지않는한
델파이상에서 Run할때는 Except구문이 있든없든 무조건 델파이가 예외를 가로채서
보여줍니다. 그러니까 IDE내에서의 실행은 항상 에러(예외)를 보여주게됩니다.
IDE내에서가 아니라면 제대로 예외가 처리되는것입니다. 이건 WinShoe와는 상관없이
모든 예외는 델파이가 먼저 가로챕니다. 절대버그는 아니니까요 안심하시고 사용하세요.
^^ 항상 즐코하세요.
이주흥 wrote:
> OS : Win2000
> tool : Delphi4 c/s
>
> 안냐세요.
> winshoe로 C/S를 짜는데..신기한게 있어서요.
> connect후에 프로그램을 종료하면 disconnect프로시저가 호출됩니다.
> 그런데. 10053 에러가 나네요.
> 신기한건 델파이에서 실행하면 에러가 나고
> 생성된 실행파일을 실행하면 에러가 나지 않는겁니다.
> 왜 그렇죠? winshoe사용해보신분 설명좀해주세요.
> -----connect부분------
> try
> Client.Connect;
> Client.Writeln('Welcome!!');
> RecvThread := TRecvThread.Create(False);
> ClientStatusFlag := True;
> except
> on EWinshoeSocketError do begin
> ShowMessage('서버에 연결할수 없어여!!');
> Application.Terminate;
> end;
> end;
> --------disconnect-------------------
> procedure TmainFrm.disconnect;
> begin
> if ClientStatusFlag then begin
> ClientStatusFlag := False;
> RecvThread.Terminate;//메세지Receive쓰레드
> repeat
> Application.ProcessMessages;
> until RecvThread.Terminated;
> Client.Disconnect;
> end;
> end;
> ----------formclose시 disconnect를 호출----------------
> procedure TmainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
> begin
> disconnect;
> Action := caFree;
> end;