用ActiveForm来编写控件(ocx),请问在ActiveForm怎样写与外部程序间的数据接口.请帮助.

解决方案 »

  1.   

    一、新建一个ActiveForm。
    二、菜单View->Type Library,以显示类型库。右击IActiveFormX->New->Property新建属性,并将属性名称改为MyIP,再在右边的type值选WideString,即修改属性的类型为字符串。
    三、回到ActiveFormX窗口的代码页,可以看到已自动加入以下代码:
    function TActiveFormX.Get_MyIP: WideString;
    beginend;procedure TActiveFormX.Set_MyIP(const Value: WideString);
    beginend;
    四、自定义一个全局变量v:string,并修改Set_MyIP过程:
    procedure TActiveFormX.Set_MyIP(const Value: WideString);
    begin //将网址传来的参数赋给全局变量v
    v:=Value;
    end;
    五、往窗体加入一个按钮Button1,在其OnClick事件加入:
    ShowMessage('传入的网址是:'+v);
    六、菜单Project->Web Deployment Option...填写有关发布参数。
    七、菜单Project->Web Deploy发布,可得*.htm和*.ocx两个文件。然后修改*.htm,在<object ...>和</object>之间加入<param name="MyIP" value="192.168.0.3">。如下所示:
    <html>
    <head>
    <title>Active接收网址参数测试</title>
    <OBJECT  
       classid="clsid:CC721C00-9C4B-42DC-B3F6-4C78DDFD4A1E"
       codebase="GetIP.ocx"
    >
    <param name="MyIP" value="192.168.0.3">
    </OBJECT>
    </head>
    <body>
    </body>
    </html>
    八、执行该网页,点击ActiveFormX中的Button1,显示信息:“传入的网址是:192.168.0.3”。成功!
      

  2.   

    假如你新建一个可读可写的属性。
    1。里面必然要建立两个过程。一个是set过程,一个是get过程。
    2。你把set过程中的传入的参数值赋予一个全局私有变量。
    3。在get过程中,返回这个全局私有变理。
    4。这样就等于提供了对外的接口。
    试试吧,不行再讨论。