私の MFC ActiveX プログラムでは、dll ファイルによって提供される関数の呼び出しがあります。また、関数には構造体型のパラメーターがあります。私が出会った奇妙なことは、関数を呼び出した後、構造体のデータが完全ではないということです。私は ActiveX と DLL に慣れていないので、どうしてこうなったのか理解できません... 主なコードは以下のとおりです。
構造体の定義:
typedef struct{
WORD m_protocol;
WORD m_playstart;
...
char url[128];
char username[MAX_USER_NAME_LEN+1];
char password[MAX_PASSWORD_LEN+1];
}CHANNEL_CLIENTINFO;
ActiveX コード:
CHANNEL_CLIENTINFO channelInfo;
...
...
GSNET_ClientStart(&channelInfo);
dll コード:
GSNET_ClientStart(CHANNEL_CLIENTINFO *m_pChaninfo)
{
...
...
}
誰でも私を助けることができますか?皆さんありがとう。
詳細については:
ActiveX プログラムでは、GSNET_ClientStart を呼び出す前に、構造体を日付で初期化します。「url」など:
sprintf(channelInfo.url, "192.168.121.122");
そして、呼び出しの後、dll 関数 GSNET_ClientStart で、URL を取得します。それは「168.121.122」、「192」であることがわかりました。不足している。
基本的な文法を間違えていないことを確認できます。