现在在页面中和activeform相互传递参数搞定了可是我发现别人用vb写的ocx,可以轻松的调用ocx内部公开的方法,,在delphi中如何调用ocx中函数呢????在线等,解决就给分!!

解决方案 »

  1.   

    OCX 你在Delphi安装注册了没有
      

  2.   

    肯定安装注册了,可以正常运行,,服务器上也能正常运行,现在我和外界传递参数都是通过自定义的一个接口传递的,有一点不爽。因为提交的时候还得先在控件中操作,然后修改接口的值,然后从页面提交
    ,我现在的想法是想直接从页面调用ocx控件中的方法,获取结果,然后直接从页面提交关键是我找了好长时间,都不知道如何从页面中调用ocx中的方法。。
      

  3.   

    再顶真没有人用过么??
    难道delphi作出来的ocx,不能调用内部方法???
      

  4.   

    Project -> Type Library -> New Method
      

  5.   

    <public>
       <method name="factorial"/>
       <method name="random" internalName="getRandomNumber">
          <parameter name="upperBound">
          <parameter name="seed">
       </method>
    </public><script language="VBScript">
    <![CDATA[
       Function factorial(n)
          If isNumeric(n) Then
             If n <= 1 Then
                factorial = 1
             Else
                factorial = n*factorial(n-1)
             End If
          Else
             factorial = -2    ' Error code.
          End If
       End Function   Function getRandomNumber(upperBound, seed)
          upperBound = CInt(upperBound)
          Randomize
          getRandomNumber = Cint(upperBound * Rnd(seed) + 1)
       End Function
    ]]>
    </script>====================
    想问一句:楼主有MSDN吗?
    若有,为什么不自己先在MSDN中找答案呢?
    若无,我靠!既然是在MS的平台下做开发,没有MSDN行吗?
      

  6.   

    可以啊,你在 component->import activeX Control 那里先安装那个 ocx 控件,然后在activex 那项那里就可以看到,然后将它拉下来form那里,就可以调用内部方法了
      

  7.   

    就是按照 view -> Type Library -> New Method添加的新方法在页面上用不了是不是少了点什么啊?
    但是按照上面方法添加的 New 属性倒是可以用,为什么阿??to  gmc007(江西的佬表) <public>
       <method name="factorial"/>
       <method name="random" internalName="getRandomNumber">
          <parameter name="upperBound">
          <parameter name="seed">
       </method>
    </public>这一段代码是在delphi中写的么??
      

  8.   

    呵呵,我搞错了,以为你是要在HTML页面中调用。
      

  9.   

    用的了的,最好用Variant类型的参数!