我自己编了个控件,但是在用这个控件时发现我给控件定义的方法找不到 怎么版? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 必须把方法放在public区中,才能用。 想在属性面板中看到,放在published中! 修改完了,需要从新编译(点击所在包的Compile按钮)! 方法怎么能够放到Object Inspector上呢?只有属性和事件才可以published,方法published没有意义。 我编的一个控件,想在里面夹一个方法,给别的程序用,(主要是用这个方法把宿主程序的数据,如123,传给这个控件)。我使用ACTIVEXFORM向导编的,我用edit菜单中的add to inteface 夹了个procedure tellme(I:integer);结果控件源程序理有这个函数,(他一开始在protected下,宿主程序看不到这个方法),我把它放在public 下,同样看不到,各位大虾们能不能给小弟一个详细的步骤阿。我郁闷了一天了,老板要我们加班,不能回家,郁闷死了:( 1)tellme是通过Type Library Editor增加的吗?2)修改过后的ActiveX需要重新注册,否则新的方法不会被别的程序识别的。这个时候,protected还是public已经无所谓了。3)你术语用的有些问题,控件在Delphi中默认得都是指VCL控件,而不是ActiveX。 SORRY , chechy(为程序而奋斗) 大哥,我编的是ACTIVEX控件,tellme是Type Library Editor增加的,也重新注册了,你能自己试试看吗?我搞不懂了,郁闷死了,谢谢你的回复:) 不用试了,我开发过n个ActiveX控件,这些问题都是驾轻就熟的。既然是TypeLibrary加的,你就重新编译。重新注册。你不妨先卸载,然后把以前的ActiveX删调。出现这种情况,往往是其它地方的dll留在注册表中,而不是你刚刚写的。 我试了,不行啊,在问一下: 比如我在一个程序中应用这个控件,type TForm1 = class(TForm) PX1: TPX;//控件的实例 procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;。。那么我在某个函数中用时是不是这样用PX1.TELLME(12);还是PX1.ControlInterface.TELLME(12);两个我都试了,在PX1.后面更本没有TELLME这个属于控件的方法 应该在Delphi中卸掉这个ActiveX,然后才重新安装。Delphi生成的ActiveX包装程序可能是旧的。 我知道了:要重新加载TLB文件的(先REMOVE 再ADD),重新的编译DEURSER50包 想写一个后台日志处理线程 用XML做配置文件时遇到的问题 如何获取dbgrid中所选数据行的行数? 如何把队列直接转化成字符串 请问一个问题,解决了马上给分~~`` 常用delphi的编程的兄弟们!咱们自己办一个网上的关于delphi杂志吧! 完工大吉 如何把bcb编写的元件用在delphi里? 打包 小问题,急 哪同儿有delphi多层数据库开发资料??谁能提供一个范例??100分不够可以加 实现半透明的窗体!!!
我使用ACTIVEXFORM向导编的,我用edit菜单中的add to inteface 夹了个
procedure tellme(I:integer);
结果控件源程序理有这个函数,(他一开始在protected下,宿主程序看不到这个方法),我把它放在public 下,同样看不到,
各位大虾们能不能给小弟一个详细的步骤阿。我郁闷了一天了,老板要我们加班,不能回家,郁闷死了:(
2)修改过后的ActiveX需要重新注册,否则新的方法不会被别的程序识别的。
这个时候,protected还是public已经无所谓了。
3)你术语用的有些问题,控件在Delphi中默认得都是指VCL控件,而不是ActiveX。
我搞不懂了,郁闷死了,谢谢你的回复:)
既然是TypeLibrary加的,你就重新编译。重新注册。
你不妨先卸载,然后把以前的ActiveX删调。出现这种情况,往往是其它地方的dll留在注册表中,而不是你刚刚写的。
比如我在一个程序中应用这个控件,
type
TForm1 = class(TForm)
PX1: TPX;//控件的实例
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
。。
那么我在某个函数中用时是不是这样用
PX1.TELLME(12);
还是
PX1.ControlInterface.TELLME(12);
两个我都试了,在PX1.后面更本没有TELLME这个属于控件的方法