inet_addr()という関数でエラーがでる


現在、RAD Studio 10.3でプログラミングを行っています。  
Indy9のコンポーネントで作成されたものをIndy10に置き換えています。  
ServerConnectメソッドで次のところでエラーが出てきました。

このエラーの回避方法を教えて下さい。

[code]

    void __fastcall TfrmMain::ServerConnect(TIdContext *AContext)
    
    //-----(中略)--------------------------
    
    pDev = AddDev(pPkt,inet_addr(AContext->Connection->Socket->Binding->PeerIP.c_str()));
    
    //-----(中略)--------------------------
    
    }
    
[/code]

**エラー内容**

[code]

    [bcc32c エラー] Main.cpp(566): no matching function for call to 'inet_addr'
      winsock2.h(1831): candidate function not viable: no known conversion from 'wchar_t *' to 'const char *' for 1st argument
    
[/code]




修正しました。

[code]

    char ch[xx];  // xxは文字列が入る大きさ以上の値
    strcpy(ch, AnsiString(AContext->Connection->Socket->Binding->PeerIP).c_str());
    pDev = AddDev(pPkt,inet_addr(ch));
    
[/code]

でどうでしょう？




修正しました。

[code]

    char ch[xx];  // xxは文字列が入る大きさ以上の値
    strcpy(ch, AnsiString(AContext->Connection->Socket->Binding->PeerIP).c_str());
    pDev = AddDev(pPkt,inet_addr(ch));
    
[/code]

でどうでしょう？

