求助一个简单activex的例子! ( 积分: 30 )

  • 主题发起人 主题发起人 mynone
  • 开始时间 开始时间
M

mynone

Unregistered / Unconfirmed
GUEST, unregistred user!
1,我想要在delphi中写一个activex(比如:aa='hello')
2,然后在asp中,用html去调用它,并把aa给显示出来.
 
1,我想要在delphi中写一个activex(比如:aa='hello')
2,然后在asp中,用html去调用它,并把aa给显示出来.
 
一个关键问题,html页面如何才能取得这样的值,我也学过asp,要取得传递值,有两种方式:
1、form表单
2、response.querystring
请问如何将值传过来?
 
总要有个存数据的地吧?
而且DELPHI与 ASP 还可以通用的地~
 
在ocx中添加一个字属性aa
在html页中可以直接访问这个属性,要上传给asp,这个是asp的编程内容了。
 
关键这个ocx或dll我不懂的写。
要怎样写,各位可否详细一点。
 
先做个简单的activexForm:
File-->New-->other-->ActivexForm-->确定
这时出现一个窗口,什么都不用加,保存工程
project-->web deploy,这时需要输入三个发布路径,全部选同一个目录(不能是工程文件所在目录)
Ok以后,到发布路径下出现两个文件
ActiveFormProj1.htm
ActiveFormProj1.ocx
到Dos下,用regsvr32命令注册ActiveFormProj1.ocx(regsvr32 c:/l...lkkldadks/ActiveFormProj1.ocx)
注册成功后打开ActiveFormProj1.htm,可以看到ActiveFormProj1.ocx已经嵌入到网页中了。

给ActivexForm添加属性:

先在ActiveXForm中添加一BSTR类型的属性EditValue,然后在这个属性的Read过程中写
Result:=edit1.text;在Write过程中写Edit1.text:=value;
然后这个ocx对象嵌入网页以后,假设对象名为ocx,则可通过 对象名.属性名 访问它.
ocx.EditValue
 
谢谢ymjy。
在这边不是很明白,是否可以说明白一点,谢谢。
给ActivexForm添加属性:
先在ActiveXForm中添加一BSTR类型的属性EditValue,然后在这个属性的Read过程中写
Result:=edit1.text;在Write过程中写Edit1.text:=value;
然后这个ocx对象嵌入网页以后,假设对象名为ocx,则可通过 对象名.属性名 访问它.
ocx.EditValue
 
是否可以贴出代码,学习一下,谢谢。
 
建好一个ActivexForm以后,在窗体上放上一个文本框Edit1
然后打开 View-->Type Library,点击IActiveFormX前面的+号展开,看到很多属性、方法。右击,在弹出菜单中选择New-->Property,这时增加了一个属性,名称为Property1,(看到有两个,其实是一个,分别是读和写,改一个就行),改名为EditValue,并选择Type为BSTR,设置完成后关闭类型库编辑。
这时在ActiveFormImpl1单元可以看到这样两个函数
function Get_EditValue: WideString
safecall;//取值
procedure Set_EditValue(const Value: WideString)
safecall;//写值
加两条语句:
function TActiveFormX.Get_EditValue: WideString;
begin
Result:=edit1.Text;
end;

procedure TActiveFormX.Set_EditValue(const Value: WideString);
begin
edit1.Text:=value;
end;
编译,发布,注册ocx,修改网页源码:(主要是给ocx一个id名称,然后加两个按钮读写ocx中的值)

<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=&quot;clsid:CC71CF17-8AC0-4E00-A922-066E8A0BA3EA&quot;
codebase=&quot;C:/Documents and Settings/Administrator.ZSZ/桌面/新建文件夹 (2)/新建文件夹

/ActiveFormProj1.ocx#version=1,0,0,0&quot;
width=690
height=452
align=center
id=&quot;ocx&quot;
hspace=0
vspace=0
>
</OBJECT>
<input type=button value=&quot;Read&quot
OnClick=&quot;showvalue()&quot;>
<input type=button value=&quot;Set &quot
OnClick=&quot;setvalue()&quot;>

<script language=&quot;vbscript&quot;>
sub showvalue
alert ocx.editvalue
end sub
sub setvalue
ocx.editvalue=&quot;kasjdkf&quot;
end sub
</script>

</HTML>
 
ymjy:
建好一个ActivexForm以后,在窗体上放上一个文本框Edit1
然后打开 View-->Type Library-->IActiveFormX-->New-->Property,改名为EditValue,并选择Type为BSTR,设置完成后关闭类型库编辑。

在这里面有很多类型,就是没有BSTR啊?????
(这方面好的书,哪里有的下啊!)
 
你仔细找一找,在右边,下拉选择框里
 
后退
顶部