公司让我做一个com组件用于和asp交互,功能很简单,asp传给
com一个用户名和秘密,这个com就是取asp传过来的参数,然后
我处理后把一个字符串通过组件返回给另一个asp,(不知是否还做
个组件),俺没开发过这类东西,(刚跳槽,弄不出就死了),哪
位大侠帮忙,我愿把分全给他(虽然不多!!)

解决方案 »

  1.   

    用New Items,选 ActiveX,建一个Active Server Object 工程
      这个是就是用来做Asp组件的,
      查查用delphi 写Asp组件的书 ---- 李维那本 《分布式多层应用.电子商务篇》就有。
      
      提示:按你的需求,可以定义一个接口,将用户名和秘码做为入口参数,然后用
            Response.Write 输出那个要返回的字符串就行了。
      

  2.   

    公司让用active中的com object做,然后就是普通asp页面调这个com,能不能
    说细一点,大致的我也知道,可总调试出错,能不能给点代码
      

  3.   

    我看了你的例子,对com有了进一步的了解,我现在的那个活是在我已经
    做好的程序(程序中写好了一些函数,包括注册,注销,查询等),现在需要在
    这个工程中增加一个接口的com,就是取到用户名和他要完成的命令,如查询或注册等
    然后我的程序中处理后把一个返回信息(可能也要有个com)在另一个页面显示,
    asp中调用是,就用server.createobject(),直接调用我写好的com,上面说到时
    打点,程序中的函数就可直接出来了,这怎么做啊??
      

  4.   

    首你需要搞清楚你的工程类型是什么?是普通的ActiveX Library建的,还是
    Active Server Object, 或者是MTS? 我给你的例子是 Active Server Object,就是通常说的
    ASP组件,它也是COM,如果你的活允许你用这种方式,问题就很简单了。如下:
       用工具 Type Library (菜单View中) ,为接口方法GetMainPage定义两个入口参数
            AUseID       BSTR       in
            APsw          BSTR       in
      然后单击  Tool bar (Type Library) 上那个象注册表的图标(在D7下是倒数第三个), 之后可看到
    在uaspSeminars中,GetMainPage 就多了两个入口参数如下
    procedure GetMainPage(const AUseID, APSW: WideString); safecall;
      
    在它的函数体内完成你的处理过程,同样用以下方法
        Response.Write('结果字符串');
    输出结果字符串。就可以了。
        调用如下:
              DelphiASPObj = Server.CreateObject("PaspSeminarsStep1.aspSeminars");
             DelphiASPObj.GetMainPage('用户名','密码');