如何在ACTIVEX中获取外部参数(100分)

  • 主题发起人 主题发起人 chenwei_oracle
  • 开始时间 开始时间
C

chenwei_oracle

Unregistered / Unconfirmed
GUEST, unregistred user!
我在HTML 中嵌入ACTIVEX控件中
<OBJECT
classid="clsid:26776EC1-2EA0-4D7F-83C1-30746A61013F"
codebase="file:///D:/tys/activex/AFXComNgUpdateProj1.cab#version=1,0,12,0"
width=350
height=250
align=center
hspace=0
vspace=0
>
<param name="iaswsdl" value="http://10.79.1.168:7777/blob-tys-context-root/mypackage2.testblob">
<param name="TableName" value="OSIS_FWCL_B_FJ">


如何在ACTIVEX控件中获取这些参数?其中ACTIVEX控件用DELPHI编写的
 
在新建的activex中,在view-> Type library 里添加个属性名字为TableName 和 iaswsdl 然后在get事件中得到参数的值
 
在set_width中添加mywidth:=Value,其他类似
 
不好意思,请问这个get事件怎样写?
 
你在类型库TYPELIB中增加一个属性,然后系统会自动增加两个函数,一个是读,一个存,你先在系统中定义一个变量,再把函数值赋给变量即可。
 
我也有同样的问题
新增加的两个函数是没有定义的空函数呀,应该怎么定义这两个函数呀
 
我也遇到了同样的问题,不知道该如何将外部参数传入到Activex中,各位高手能否详细地跟我说说。
谢谢盼复!!
 
同样的问题正在困扰,请高手指点!
 
已经搞定了,从外部传到ACTIVEX,从ACTIVEX到WEB中,在WEB中调用ACTIVEX方法~~~~
 
能不能说的详细一点
 
哪位高手能点例子吗?在下真的很急!先谢了
 
activex的发布出来的属性如果是可读并可写的,外部程序可以写这些属性,activex控件内部也就可以使用由外部程序设置的值;这是我的理解,不知你说的
在ACTIVEX控件中获取这些参数,是不是使用外部设置的参数值的意思!
 
http://delphibbs.com/delphibbs/dispq.asp?lid=586139,有详细的例子。
 
我也想解决这个问题呀
 
一、进入Delphi,新建一个ActiveX Form,New ActiveX Name为"AFXComNgUpdate"。
二、菜单"View"-->"Type Library",右击"IAFXComNgUpdate"-->"New"-->"Property"新建一属性,并将该属性重命名为"iaswsdl",Type属性改为"BSTR"(或WideString)。按同样办法,新建一个字符串型属性"TableName"。
三、查看AFXComNgUpdateImpl1.pas单元,可看到以下代码:
function TAFXComNgUpdate.Get_iaswsdl: WideString;
begin

end;

procedure TAFXComNgUpdate.Set_iaswsdl(const Value: WideString);
begin

end;

function TAFXComNgUpdate.Get_TableName: WideString;
begin

end;

procedure TAFXComNgUpdate.Set_TableName(const Value: WideString);
begin

end;
四、定义全局变量
var
MyCount:integer;
iaswsdl,TableName:string;
五、在AFXComNgUpdate的OnCreate事件初始化MyCount为0:
procedure TAFXComNgUpdate.ActiveFormCreate(Sender: TObject);
begin
MyCount:=0;
end;
六、添加一个全局过程:
procedure TAFXComNgUpdate.DoMyApplication;
begin
inc(MyCount);
Showmessage(Format('MyCount=%d,iaswsdl=%s,TableName:=%s',[MyCount,iaswsdl,TableName]));
if MyCount=2 then ;//已接收到2个参数,可转入你自己定义的功能
end;
七、修改过程如下:
procedure TAFXComNgUpdate.Set_iaswsdl(const Value: WideString);
begin //此Value的值来自网页参数,得及时把它传给全局变量
iaswsdl:=Value;//<param name="iaswsdl" value="http://10.79.1.168:7777/blob-tys-context-root/mypackage2.testblob">
DoMyApplication;
end;

procedure TAFXComNgUpdate.Set_TableName(const Value: WideString);
begin //此Value的值来自网页参数,得及时把它传给全局变量
TableName:=Value;//<param name="TableName" value="OSIS_FWCL_B_FJ">
DoMyApplication;
end;
八、编译、发布网页AFXComNgUpdateProj1.htm,并修改网页内容如下:
<HTML>
<H1> Delphi 6 ActiveX Test Page </H1><p>
You should see your Delphi 6 forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
classid="clsid:67D18AB3-3B9B-40F8-993E-FB3B0DD0D276"
codebase="AFXComNgUpdateProj1.ocx#version=1,0,0,0"
width=252
height=142
align=center
hspace=0
vspace=0
>
<param name="iaswsdl" value="http://10.79.1.168:7777/blob-tys-context-root/mypackage2.testblob">
<param name="TableName" value="OSIS_FWCL_B_FJ">
</OBJECT>
</HTML>
九、执行网页AFXComNgUpdateProj1.htm,成功!
 
后退
顶部