Q&A

  • Indy IdUDPServer1Status 이벤트
안녕하세요. 고수님들.

저 델파이 여지껏 해보지 못했습니다.

VC 나 임베디드만 하는 엔지니어인데..일본출장와서 큰 난관에 부딪혔습니다.

저희 S/W 엔지니어가 사고를 당하여 오질 못한다는겁니다.

회사에서 저보고 마무리를 지어라 하네요.

해서 고수님들 조언을 구하고 싶습니다.

사설이 길었습니다.

지금 꾸역꾸역 해서

IdUDPServer1UDPRead 를 이용해서 임베디드 장비에서 데이터 수신 잘되고 있으며,

IdUDPServer1.Send 이용해서 송신도 잘되고 있습니다.

끝났구나 싶었는데 바이어가 LAN 케이블의 접속상태도 나타내 달라고 합니다.

해서 UDP 컴포넌트에

IdUDPServer1Status  가 있길래 왠지 될수있을것 같아서

procedure TWinVision_Main.IdUDPServer1Status(ASender: TObject;
  const AStatus: TIdStatus; const AStatusText: String);
begin
      Label13.Caption := AStatusText;
      
end;

위와 같이 했는데 랜케이블을 제거하거나 연결해도 아무런 상황이발생되지 않네요.

제가 잘못알고 있는것인가요?

잘못알고 있다면 어떻게 하는지 좀 알려주십시오.

저 3일전 귀국일정이었지만...이것때문에 집에 못가고 있습니다.

저 한국 가고싶어요.

조언 부탁드립니다.
4  COMMENTS
  • Profile
    초빼이 2010.01.24 09:23
    참고로 indy 9.0 입니다.
  • Profile
    phono 2010.01.24 17:37
    indy 에 보면 IdIPWatch 라는 놈이 있습니다. 이걸 사용하세요..



    function TfrmMAIN.IsOnlineNet: boolean; // 네트워크가 온라인 상태인.. 온라인 상태면 true
    begin
    Result := True;
    if(IdIPWatch1.LocalIP <> '') then // 네트워크가 온라인 상태가 아니라면..,
    begin
    if((IdIPWatch1.LocalIP = '127.0.0.1') or (Pos('169.254.', IdIPWatch1.LocalIP) > 0)) then Result := False;
    end else Result := False;
    end;

  • Profile
    초빼이 2010.01.25 03:47
    감사합니다. phono 님.

    그런데 그대로 해서 안되네요.

    IdIPWatch1StatusChanged 프로시져를 만들고

    그안에서 달아주신 function 을 호출해야 하는건가요?
  • Profile
    phono 2010.01.25 08:34
    뭐 일단 편하실 대로.. 하세요.

    일단 네트워크 처리를 하는 부분 마다 저 함수를 호출해서 미리, 상태를 확인후 처리부분을 처리해 주셔도 되고요.