procedure TconnectC2Form.FormActivate(Sender: TObject);
begin
Label1.Caption:= '서버에 접속중입니다...';
Label2.Caption:= '( ' + MainC2Form.ClientSocket1.Address + ' )';
MainC2Form.ClientSocket1.Active:= True;
if MainC2Form.ClientSocket1.Active then begin // <- 이부분
Label2.Caption:= '( ' + MainC2Form.ClientSocket2.Address + ' )';
MainC2Form.ClientSocket2.Active:= True;
end;
end;
지금 이소스는 폼이생성되고 실행되는 코드 부분입니다. 클라이언트소켓1이 1번으로 접속해서 성공하면 조건문으로 인해 클라이언트소켓1번이 True이면 소켓이번이 다른 서버 2번으로 접속을 활성화합니다.
그런데 분명 Ture 이고 서버소켓이 제대로 연결된 상태인데 조건문에서는 True가 아닌 False로 인식합니다.
두개를 따로 해서 버튼을 만들고 하나씩 실행하면 되거든요...FormActivate일때는 무조건 실행하고 조건문 처리는 못하는 건지요?
아래서..소켓이연결됬는지 체크하는것은....안됩니다.
꼭 연결을 확인하고..다음 소켓 연결할려면...
클라이언트 소켓1번이 접속되는....onConnect 이벤트서..
다음 처리를 해주세요.
아니라면..그냥....소켓1, 소켓2...쭉...연결시켜두...다..처리됩니다.