Server소켓과 Client소켓을 사용해 문자를 전송하는 프로그램을 짜는 중입니다.
ICQ같이 전송할 문자를 입력하고
Send버튼을 누르면...
1. 소켓을 비활성화(Active:=False) 시킨다.
2. 소켓에 IP주소를 지정한다
3. 소켓을 활성화(Active:=True)시킨다.
4. 문자를 보낸다.
5. 소켓을 비활성화(Active:=False) 시킨다.
(포트설정은 미리 지정해뒀슴다.)
이런 과정을 거쳐서 문자를 보내려고 하는데...
짝수번째로 Send버튼을 누를때에만 문자가 전송됩니다.
즉.. Socket.Active := True, False명령을 내려도 적용이 되지 않고 다음으로
넘어가버리드라구요...
그래서 소켓 활성화 하는 부분에
ClientSocket1.Active := True;
while (not (frmDolMain.ClientSocket1.Active)) do
begin
end;
이러케 했더니.. 무한루프에 빠지더군요.. -_-;
ClientSocket1.Active := True;
while (not (frmDolMain.ClientSocket1.Active)) do
begin
ClientSocket1.Active := True;
end;
일케 하니까 소켓 어쩌구 에러를 내구요...
For문을 사용해서 중간에 딜레이를 주어도 설정이 먹질 않습니다...
그런데 이상한거...
버튼 5개를 만들어서 각각 위에서 말한 1~5번깨지 4가지 코드(중복 하나)를 넣고
5번째 버튼에서 버튼 1~4까지를 호출하게끔 해봤습니다.
Edit박스에 문자를 집어넣고.. 버튼을 하나씩 순서대로 누르면...
아무 문제 없이 전송이 됩니다..
하지만.. 각각을 자동으로 호출하게 해놓은 5번 버튼을 누르면...
에러가 납니다..
어떻게 해결해야 할까요...
고수님들... 퍼팩트한 답변 부탁 드립니다..
참고로 전 초보니까 쉽게 설명해주세여. ^^;;