->델파이에서 프로그램을 실행시에 서버에 접속했다가 프로그램 종료시에 에러메세지가 나타납니다.
실행파일을 직접 실행시에는 나타나지 않습니다.
왜 에러메세지가 뜨는 건가요? 제발 부탁드립니다.(무플은 이제 그만요...ㅠ.ㅠ)
초코파이 님이 쓰신 글 :
: implementation
:
: {$R *.dfm}
:
: uses Setting;
:
: procedure TMyThread.Execute;
: begin
: inherited;
: while not Terminated do begin
: try
: Msg := frClient.TCPClient.ReadLn;
: Synchronize(View);
: except
: Terminate;
: end;
: end;
: end;
:
: procedure TMyThread.View;
: begin
: frClient.Memo.Lines.Add(Msg);
: end;
:
: procedure TfrClient.Edit2KeyPress(Sender: TObject; var Key: Char);
: begin
: if Key = #13 then begin
: TCPClient.WriteLn(Edit1.Text + ' : ' + Edit2.Text);
: Edit2.Text := '';
: Key := #0;
: end;
: end;
:
: procedure TfrClient.TCPClientConnected(Sender: TObject);
: begin
: Memo.Lines.Add('서버와 접속되었습니다');
: end;
:
: procedure TfrClient.TCPClientDisconnected(Sender: TObject);
: begin
: Memo.Lines.Add('서버와 접속해재 되었습니다');
: end;
:
: procedure TfrClient.ConfigClick(Sender: TObject);
: begin
: if frSetting = nil then
: frSetting := TfrSetting.Create( Self );
:
: frSetting.ShowModal;
: end;
:
: procedure TfrClient.btConnectClick(Sender: TObject);
: begin
: if Edit1.Text = '' then begin
: ShowMessage('대화명을 입력하세요');
: Edit1.SetFocus;
: exit;
: end;
:
: if (frSetting.ePort.Text = '0') Or (frSetting.eIP.Text = '0') then begin
: ShowMessage('서버접속 설정을 하세요.');
: exit;
: end;
:
: TCPClient.Port := StrtoInt(frSetting.ePort.Text);
: TCPClient.Connect;
: MyThread := TMyThread.Create(True);
: MyThread.FreeOnTerminate := True;
: MyThread.Resume;
:
: end;
:
:
: -> 폼이 종료 되거나 IndyTCPClient가 DisConnect되기만 하면 error가 뜹니다. 도와주세요~ ㅠ.ㅠ
: ps. 서버 쪽에서는 Client가 종료되면 broadcast로 메세지를 뿌려주는 것 말고는 Client에 보내지는게
: 없습니다
|