dephi7开发ocx
来源:互联网 发布:aicc软件免费下载 编辑:程序博客网 时间:2024/05/02 04:45
关于delphi7 ActiveX的学习备忘 Author :5caidm ,2008-06-12 步骤: 1、先创建ActiveX工程文件; 2、注册ActiveX文件(ocx文件) ; 3、编写相应调用ActiveX文件(.ocx文件)的html文件. 具体操作流程如下: 步骤1: a、选择File->New->Other ,ActiveX页面,选择ActiveX Form ; b、填写New ActiveX Name:,其他的不用做变动(不好意思,我也不知道其他的什么意思); c、成功创建ActiveX Form,保存工程,三个文件 (AAImpl1.pas、AAProj1.dpr加入ActiveX Name为AA); d、AAProj1_TLB、AAProj1、AAImpl1; e、增加接口(两种方法): 1、选中AAImpl1单元,即选中ActiveX Form,在delphi的Edit菜单中选择Add to Interface...; 1> 在Add To Interface 窗口中加入接口Func:Function Func(x1,x2 :Integer) : Integer ; 2>最后OK就可以,delphi会自动帮你检查语法,如果语法或者参数类型或者返回值类型不对,delphi开发环境会自动给出提示。 3>注意:该接口函数有两个参数 x1、x2,为Integer型 ,返回值也为Integer; 4>参数和返回值类型说明:integer --long;String为BStr或者WideString ; 2、选中AAImpl1单元,即选中ActiveX Form, 在delphi的View菜单中选择Type Library; 1> 在AAProj1.tlb 窗口中,在左侧列表中选择IAA,即选中IAA接口,右键->New->Method或者在在工具栏中选择New Method ,接着给方法命名test; 2>选中test,在选择窗口右边的Parameters页面,对该方法进行参数和返回值的进行增加,Return Type不需要改变; 3>比如test的返回值为String,有一个String型的参数,则在Parameters中增加两个变量,具体如下 中文说明 Name Type Modifier 参数: sVar BSTR [in] //[in]表示输入参数 返回值: sRet BSTR* [out,retvar] //表示输出结果,Type一定要为指针类型,否则出错,即一定要带* 则AAImpl1中产生: function TAA.test(const sVar: WideString): WideString; begin //编写函数体 result := sVar ; //此句为自己编写 end; 4>参数和返回值类型说明:integer --long;String为BStr或者WideString ; f、增加属性Property:同样选中AAImpl1单元,即选中ActiveX Form, 在delphi的View菜单中选择Type Library; 在左侧列表中选择IAA,即选中IAA接口,右键->New->Property或者在在工具栏中选择New Property ,接着给属性命名为Mystr, 在Parameters中修改Type为BSTR; function TAA.Get_Mystr: WideString; begin //编写函数体 end; procedure TAA.Set_Mystr(Value: WideString); begin //编写过程体 end; 以上为搭建框架,接下来在ActiveX Form上增加一个TButton(btn_AX)和一个TEdit(edt_AX)控件 g、回到AAImpl1页面代码窗口中, function TAA.Get_Mystr: WideString;//得到 Mystr begin //编写函数体 Result := Self.edt_AX.Text ; end; procedure TAA.Set_Mystr(Value: WideString);//设置Mystr begin //编写过程体 Self.edt_AX.Text := Value ; end; procedure TAA.btn_AXClick(Sender: TObject); begin Self.ClickEvent(Self); end; ActiveX Form 编辑完毕,Project->Builder All Projects. //编译工程,生成AAProj1.Ocx文件。 步骤2:注册ActiveX文件(ocx文件) 两种方法注册ActiveX文件: 1、在delphi开发环境中,Run-> Register ActiveX Server //注册Ocx控件。 2、开始->运行->regsvr32 "Ocx文件所在目录/AAProj1.ocx". 步骤3:编写相应调用ActiveX文件(.ocx文件)的html文件. 注:如果在delphi 7中可能会麻烦一点,至少我学习时是麻烦啦;方法: 1>Project->Web Deployment Options(Web部署选项)->Project ; 2>Target dir(Full path of the deployed OCX):选择或填写OCX的完整路径目录; Target URL(Virtual path of the deployed OCX):填写 ./; HTML dir(Full path of the deployed HTML file):选择或填写HTML文件的完整路径目录; 其他选项默认。 注:如果Web Deployment Options为不可用状态,则在File->New->Other->ActiveX->ActiveX Form接着删除掉这个ActiveX Form,此时Web Deployment Options为可用状态啦,他娘的,这种Bug 也有人能解决,真人才; 3>Project->Web Deploy ; 4>调试方法:Run->Parameters,在Local页面中 Host Application :C:/Program Files/Internet Explorer/IEXPLORE.EXE //你的IE在哪里就填写那里啦; Parameters:文件路径/AAProj1.htm 调试运行即可以; 至此结束; 以下内容为ActiveX和网页Html交互内容脚本: <HTML> <H1> Delphi 7 ActiveX Test Page </H1><p> You should see your Delphi 7 forms or controls embedded in the form below. <HR><center><P> <OBJECT id=TestActiveProj1 classid="clsid:A215EF7E-1486-4C7A-8A5F-16C640D73C65" codebase="./AAProj1.ocx#version=1,0,0,0" width=350 height=300 align=center hspace=0 vspace=0 > </OBJECT> <body> <head> <!--<title>无标题文档</title> --> <script language="javascript"> <!-- function onloadtime() { document.myform.txtDate.value=AAProj1.Func(1,8) ; document.all.AAProj1.Mystr = document.all["txtTest"].value ; } function ontestclick() { document.myform.txtDate.value=AAProj1.Func(52,8) ; document.myform.txtTest.value = AAProj1.Mystr ; } </script> <script language="javascript" for=AAProj1 event=onclick> document.myform.txtTest.value = AAProj1.Mystr ; </script> </head> <body onload="onloadtime()"> <form name=myform><div align="center"> <input name="txtTest" type="text" value="" size="20"> <input name="txtDate" type="text" value="" size="20"> <input name="btn" type="Button" value="test" onclick="onloadtime()" size="40"> <input name="btn1" type="Button" value="Click" onclick="ontestclick()" size="40"> </div> </form> </body> </HTML> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cai5/archive/2008/06/13/2543761.aspxDelphi7 开发ocx
- dephi7开发ocx
- OCX--VC2005开发OCX
- dephi7注册码
- OCX开发与第三方OCX封装
- OCX开发手记
- OCX控制开发注意事项
- ocx开发经验
- VC 开发ocx
- ocx开发小结
- VC开发OCX
- c#开发ocx
- ocx开发经验
- ocx开发经验
- VC开发OCX
- OCX开发手记
- ocx开发经验
- vc6.0 ocx开发
- ocx开发经验
- VS2008+FLTK+X64平台的配置方法
- 如何编译源代码
- Linux解压tar命令
- QQ2011 Beta3优先体验(附官方体验地址及下载地址)
- 使用Delphi快速开发ActiveX控件
- dephi7开发ocx
- 希冀
- List,set,Map 的用法和区别等 [转]
- MS10-046_LNK文件快捷方式漏洞的原理分析(多图杀猫)
- RMI IIOP discovery
- Windows完成端口与Linux epoll技术简介
- MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。
- (转)解析float型float f=3.4是否正确?
- CWebBrowser类,脱离MFC,纯SDK,C++代码可调用。