我用MFC做了一个自动化组件,用于ASP中,下面是我的代码:
<script language="VB" src="file:///E|/comasp/myasp/Debug/myasp.dll">dim testprint as new myasp.mycom
testprint.Print()</script>
myasp.mycom是我的progID,没错的,Print()函数的代码:
void mycom::Print() 
{
// TODO: Add your dispatch handler code here
::AfxMessageBox("i love you!");
  }
难道这个消息框不能显示在网页中?

解决方案 »

  1.   

    正确的写法应当是
    <%
    dim testprint
    set testprint=Server.CreateObject("myasp.mycom")
    testprint.Print()
    %>呵呵:) 
    也建议你去看一下基础书,ASP方面的
      

  2.   

    好像
    <%%>表明这是在服务端执行的代码,但我想在客户端运行我的组件,两位还有办法吗?
    其实在ASP中COM组件的运行是受比较大的限制的,比如消息框用VBSCRIPT就不能实现。
      

  3.   

    以下为客户端组件的调用:
    <object id="doit" classid="CLSID:E3394F66-75D7-11D5-968D-0000E8D33700"
    border="0" width="0" height="0">
      <param name="_Version" value="65536">
      <param name="_ExtentX" value="2646">
      <param name="_ExtentY" value="1323">
      <param name="_StockProps" value="0">
      </object>
      

  4.   

    兄弟呀,ASP中怎么MessageBox啊,ASP运行在一个不可示的Desktop上,
    与你当前的Desktop是不同的,根本显示不出来
      

  5.   


    http://idoor.xiloo.com 有一MFC开发的WEB OCX例子.
      

  6.   

    当然注册了,这个没问题的。我的组件在VB中运行的好好的,但到了ASP中就不能运行了,不知道怎么搞的!我记得只要是自动化组件就可以在ASP 中运行阿,各位,COM打印组件的开发,有没有搞过的?
      

  7.   

    ASP不能?注意你的PROGID,注册表里的不一定与VC,VB里的一样,客户端我给你了,服务器端楼上有,都不行的话就不是调用的问题.你的调用是错的.
    VB能用,ASP就行.
    注意客户端和服务器端的程序差异,你的消息框代码是否对.
      

  8.   

    我的组件仅仅是简单的AUTOMATION,不是ACTIVEX控件,我不知道在客户端如何调用这种组件的方法,象这样:object id="doit" classid="CLSID:E3394F66-75D7-11D5-968D-0000E8D33700"
    border="0" width="0" height="0">
      <param name="_Version" value="65536">
      <param name="_ExtentX" value="2646">
      <param name="_ExtentY" value="1323">
      <param name="_StockProps" value="0">
      </object>
    仅仅是引入这个控件,方法又怎么调用呢?给个例子,拜托了!