Q&A

  • 동적 생성한 컴포넌트 이벤트 처리
클라이언트소켓를 동적 생성하였는데요..

이벤트가 일어나질 않네요..



좀 자세히 좀.. 알려 주시길 바람니다...



procedure TForm3.CreateSock(Target: TForm; Num: integer; CName: String);

begin

G_ClientSocket[Num] := TClientSocket.Create(Self);

with G_ClientSocket[Num] do begin

parent:=Self;

Name:=CName;

OnConnect:=ClientSocket1Connect;

end;

end;



procedure TForm3.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);



begin

Memo1.Lines.Add('1번 소켓 연결 성공..');

end;



위의 코드가 제가 클라이언트 소켓을 생성하고.. 이벤트를 만들어 준 것입니다..

소켓은 물론 서버에 붙어서.. 서버에서 접속 허가를 해 줍니다..

서버에서 접속허가를 하면.. OnConnect 이벤트가 일어나야 되는데...

일어나질 않는군요..

혹시 위의 코드중.. 잘못된 부분이나.. 아니면..

이럴땐.. 안된다는 조언이라도.. 검 답변 부탁드립니다.



2  COMMENTS
  • Profile
    참고만 2001.02.28 06:59
    //아래코드가 다 입니껴?

    //동적 생성된 소켓에 서버로 연결은 하셨사옵니까?

    > G_ClientSocket[Num] := TClientSocket.Create(Self);

    > with G_ClientSocket[Num] do begin

    > parent:=Self;

    > Name:=CName;

    > OnConnect:=ClientSocket1Connect;

    > Host := '127.0.0.1';

    > Active := True;

    > end;



    델파초짜.. wrote:

    > 클라이언트소켓를 동적 생성하였는데요..

    > 이벤트가 일어나질 않네요..

    >

    > 좀 자세히 좀.. 알려 주시길 바람니다...

    >

    > procedure TForm3.CreateSock(Target: TForm; Num: integer; CName: String);

    > begin

    > G_ClientSocket[Num] := TClientSocket.Create(Self);

    > with G_ClientSocket[Num] do begin

    > parent:=Self;

    > Name:=CName;

    > OnConnect:=ClientSocket1Connect;

    > end;

    > end;

    >

    > procedure TForm3.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);

    >

    > begin

    > Memo1.Lines.Add('1번 소켓 연결 성공..');

    > end;

    >

    > 위의 코드가 제가 클라이언트 소켓을 생성하고.. 이벤트를 만들어 준 것입니다..

    > 소켓은 물론 서버에 붙어서.. 서버에서 접속 허가를 해 줍니다..

    > 서버에서 접속허가를 하면.. OnConnect 이벤트가 일어나야 되는데...

    > 일어나질 않는군요..

    > 혹시 위의 코드중.. 잘못된 부분이나.. 아니면..

    > 이럴땐.. 안된다는 조언이라도.. 검 답변 부탁드립니다.

    >

  • Profile
    jung hyun jin 2001.02.28 06:44
    델파초짜.. wrote:

    > 클라이언트소켓를 동적 생성하였는데요..

    > 이벤트가 일어나질 않네요..

    >

    > 좀 자세히 좀.. 알려 주시길 바람니다...

    >

    > procedure TForm3.CreateSock(Target: TForm; Num: integer; CName: String);

    > begin

    > G_ClientSocket[Num] := TClientSocket.Create(Self);

    > with G_ClientSocket[Num] do begin

    > parent:=Self;

    > Name:=CName;

    > OnConnect:=ClientSocket1Connect;

    > end;

    > end;





    ip address 를 정해주고 Active := true 를 하셔야 하지요.

    그외 OnError 프로시져도 정해주어야 하고...

    >

    > procedure TForm3.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);

    >

    > begin

    > Memo1.Lines.Add('1번 소켓 연결 성공..');

    > end;

    >

    > 위의 코드가 제가 클라이언트 소켓을 생성하고.. 이벤트를 만들어 준 것입니다..

    > 소켓은 물론 서버에 붙어서.. 서버에서 접속 허가를 해 줍니다..

    > 서버에서 접속허가를 하면.. OnConnect 이벤트가 일어나야 되는데...

    > 일어나질 않는군요..

    > 혹시 위의 코드중.. 잘못된 부분이나.. 아니면..

    > 이럴땐.. 안된다는 조언이라도.. 검 답변 부탁드립니다.

    >