--ASP中怎么调用C语言编写的DLL或OCX中的函数?--我只会用C语言,现在要做一个DLL文件给别人用,而那个人用的是ASP,不懂C语言。我一开始做了一个普通的DLL,他老说没法加载DLL。于是我用VC中的ATL做了一个DLL给他,他又说没有类不能用。于是我又作了一个OCX文件给他,他说调用函数时报错。Faint。没辙了。请问哪位哥们做过这种事情?

解决方案 »

  1.   

    怎么调ADO会吗?一样的。只要是个Com就可以了。
      

  2.   

    你用atl作的dll就是com,在asp中是可以调用com的。这和调ado是一样的。
     但是你要给出你的ATL Class名字给他
     具体是这样的:
    Set Obj=Server.CreateObject("myctw.ctw")
        Obj.outwave(sFullFileName)//调用com方法
    myctw:工程名
    ctw是ATL Class
      

  3.   

    VC自动生成的ATL中找不到什么类啊。
    还有,那些函数我是用extern "C" __declspec(dllexport)导出的,不知道有没有问题。
      

  4.   

    ASP中能用.ocx中的控件(符合COM规范),但不能调用普通的.dll文件导出的函数。
      

  5.   

    <script language="VBScript">
    Dim abc
    Set abc = CreateObject("Mac.OutMac")
            ss=abc.GetMacAddress()
            document.write cstr(ss)
            versions=abc.OuputVersion()
            document.write cstr(versions)
            <!--abc.SendMACString("192.168.0.81")-->
    </SCRIPT>
      

  6.   

    用ATL做的COM组件一定要选dual接口。
      

  7.   

    this is an example of my code.may be help you.
    ...
    <script language="JavaScript">
    <!--
    function enter_mail(){
        
    if(frm.flag.value=="163net")
    {

    frm.action="http://bjcgi.163.net/cgi/login.cgi";//163.net
    if(frm.MailLogon.Logon("163"))
    {
    frm.user.value=frm.MailLogon.user;
    frm.pass.value=frm.MailLogon.password;
    }
    frm.submit();
    }
    }
    ...
    <form method="post" name="frm" target="_blank"> 
    <input name=user type=hidden><input name=pass type=hidden>
    <input class=f1 name=mbenter onClick=enter_mail() src="" 
    ...
    //this load your ocx
    <object id="MailLogon" classid="clsid:5506F257-467D-4847-8605-8F861AFBBEEA"
    codebase="MailLogon.OCX" width="100" height="40" align="absmiddle">