我在asp里createoject()一个activex,然后调用函数,只能第一次打开网页的时候调用正常!当再刷新一下网页的时候就有错误了,奇怪了!
Set myob = CreateObject("Client.ClientCtrl.1")
rt = myob.Connect2Server("127.0.0.1",5000)
'rt = myob.test("127.0.0.1",34)
Set myob = nothing
上面是asp里面的代码
我当开网页,第一次打开的时候正常,再打开就不行了,出现以下提示:
Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.asp,行242 Microsoft VBScript 运行时错误 错误 '800a01fb' 出现一个意外错误: 'myob.Connect2Server' /localstart.asp,行5 当我重启后,第一次打开网页才正常!!请问是不是我的activex没有翻放的原因,还是什么原因!请高手指点啊

解决方案 »

  1.   

    我调用的函数为下面的代码,有没有高手指点一下啊BOOL CClientCtrl::Connect2Server(LPCTSTR lpServerAddress, short stPort) 
    {
    // TODO: Add your dispatch handler code here
    if(m_clientSocket)
    m_clientSocket.Close();
    ::AfxSocketInit();
    m_clientSocket.Create();
    if(m_clientSocket.Connect(lpServerAddress,stPort))  //connect to server
    {
    m_clientSocket.m_bConnected = true;
    MessageBox(_T("Connect ok!"));
    }
    else
    AfxMessageBox(_T("Connect failed!"));
    return TRUE;
    }
      

  2.   

    MFC做的控件,不能放在服务器端,比如asp或者asp.net,应该用ATL来做。
      

  3.   

    MFC做的控件在被容器激活之前默认不支持被自动化
      

  4.   

    mfc可以支持的,我已经重载了IsInvokeAllowed函数!
      

  5.   

    我调用其它的函数都没有问题,我发现m_clientSocket.Create();这句话导致有问题的
      

  6.   

    ::AfxSocketInit();
    这个不要每次都调用把
    一次就可以了