注意该class调用了dll,谢谢啦,如果问题解决了,我在加送100分给解决问题的人,决不食言!
18 个解决方案
#1
顶一下。为了分数我去看看资料吧。或许能帮上你的,你也不要忘了看书呀,或许你自己已经想出来了呢。。哈哈我也是Delphi迷
#2
我查了很多资料都没查到,我封装了很多次也没成功
谢谢你帮忙啊
谢谢你帮忙啊
#3
创建一个activexform工程不可以吗?
#4
1、创建一个空的OCX工程:
打开Delphi,关闭已有的空工程,选择File-》New-》Other-》ActiveX-》ActiveXControl,在弹出的窗口中选择TButton,命名MyButton,然后把版本勾上,确定,就会生成一个OCX工程,
2、加载你的Class:
在单元MYButtonImpl1的Private下定义你的Class对象,如:MyClass:TMyClass;然后在InitializeControl中创建你的对象,Destroy中释放你的对象;
3、添加OCX属性、方法、事件:
点击窗体上的View-》Type Library,在弹出的窗体上添加你的方法,事件,属性等(这些方法的参数参考你自己Class中的方法,因为步骤4中要调用你Class中的方法),然后点击该窗体上的Refresh按钮,这是你会发现MYButtonImpl1下多了很多方法,但是这些方法都没有实现;
4、调用你的Class对象方法:
在步骤3中生成的方法调用你自己Class的方法。
注册OCX,调试。成不成就看你自己的了^_^
打开Delphi,关闭已有的空工程,选择File-》New-》Other-》ActiveX-》ActiveXControl,在弹出的窗口中选择TButton,命名MyButton,然后把版本勾上,确定,就会生成一个OCX工程,
2、加载你的Class:
在单元MYButtonImpl1的Private下定义你的Class对象,如:MyClass:TMyClass;然后在InitializeControl中创建你的对象,Destroy中释放你的对象;
3、添加OCX属性、方法、事件:
点击窗体上的View-》Type Library,在弹出的窗体上添加你的方法,事件,属性等(这些方法的参数参考你自己Class中的方法,因为步骤4中要调用你Class中的方法),然后点击该窗体上的Refresh按钮,这是你会发现MYButtonImpl1下多了很多方法,但是这些方法都没有实现;
4、调用你的Class对象方法:
在步骤3中生成的方法调用你自己Class的方法。
注册OCX,调试。成不成就看你自己的了^_^
#5
谢谢 wuyu1981(方圆)
明天我去试试看,成了就再开个帖子给你加分
不过有个问题是我的class调用了dll,会不会有什么问题,我记得是那个朋友跟我说要拔掉用了dll的代码封装进activex很麻烦
明天我去试试看,成了就再开个帖子给你加分
不过有个问题是我的class调用了dll,会不会有什么问题,我记得是那个朋友跟我说要拔掉用了dll的代码封装进activex很麻烦
#6
占个地方,回来学习一下
#7
activexform
#8
顶一下
#9
UP
#10
在InitializeControl中创建你的对象的时候 载入你的dll,
Destroy中释放你的对象的时候释放你的dll ;就可以了,不会麻烦吧
Destroy中释放你的对象的时候释放你的dll ;就可以了,不会麻烦吧
#11
不错,值得学习!
#12
谢谢楼上的大虾们,但有些问题还是没有解决:
1、我创建了MYButtonImpl1,里面只有InitializeControl方法,没有Destroy,于是我自己申明了一个destroy却总是报错,不能释放资源的话,会出很多问题。
2、由于该控件是继承自button,我倒入activex控件后,总是出现一个button,怎么把他的visiable设为false?有没有办法去掉那些跟button相关的无用属性,做成像delphi自带的那些不可视控件一样。
再次感谢
1、我创建了MYButtonImpl1,里面只有InitializeControl方法,没有Destroy,于是我自己申明了一个destroy却总是报错,不能释放资源的话,会出很多问题。
2、由于该控件是继承自button,我倒入activex控件后,总是出现一个button,怎么把他的visiable设为false?有没有办法去掉那些跟button相关的无用属性,做成像delphi自带的那些不可视控件一样。
再次感谢
#13
高手快出来帮一下忙啊·?
#14
怎么把button德visiable射职位falsle?
我再InitializeControl里设置,没用阿
我再InitializeControl里设置,没用阿
#15
顶一下^_^
#16
你在哪个窗体上用这个button,就在那个窗体的FormShow里面设置MyButton.visable := False;
我测试过我得,可以隐藏啊!
实在不行就用一种变通的方法:用别的控件覆盖这个MyButton就可以了。
我测试过我得,可以隐藏啊!
实在不行就用一种变通的方法:用别的控件覆盖这个MyButton就可以了。
#17
对啊,我也有这样的问题,不过我是用的ActiveForm创建的,但存在一个问题,就是如何能实现象VCL非可视化控件一样,在编程阶段,只是一个图标,而在运行阶段则会自动隐藏不可见。编写Ocx控件该如何做呢。我自己也在程序的Create事件中加入了该ocx的visable属性是可以的,但始终要靠外界的代码来实现,我想在ocx内部实现,不知哪位高手能指点,在此先谢了。
#18
哎,今天把这个控件拿去整合,结果本来在测试阶段那个类很好用的(受到大家认可的),一弄成一个控件,就必须要跟那些程序员强调,需要设置为false,那些属性没用,别管他......结果我被项目管理人员骂了一通,你到底会不会编程那!?我.......无语,那位大人,救命啊
#1
顶一下。为了分数我去看看资料吧。或许能帮上你的,你也不要忘了看书呀,或许你自己已经想出来了呢。。哈哈我也是Delphi迷
#2
我查了很多资料都没查到,我封装了很多次也没成功
谢谢你帮忙啊
谢谢你帮忙啊
#3
创建一个activexform工程不可以吗?
#4
1、创建一个空的OCX工程:
打开Delphi,关闭已有的空工程,选择File-》New-》Other-》ActiveX-》ActiveXControl,在弹出的窗口中选择TButton,命名MyButton,然后把版本勾上,确定,就会生成一个OCX工程,
2、加载你的Class:
在单元MYButtonImpl1的Private下定义你的Class对象,如:MyClass:TMyClass;然后在InitializeControl中创建你的对象,Destroy中释放你的对象;
3、添加OCX属性、方法、事件:
点击窗体上的View-》Type Library,在弹出的窗体上添加你的方法,事件,属性等(这些方法的参数参考你自己Class中的方法,因为步骤4中要调用你Class中的方法),然后点击该窗体上的Refresh按钮,这是你会发现MYButtonImpl1下多了很多方法,但是这些方法都没有实现;
4、调用你的Class对象方法:
在步骤3中生成的方法调用你自己Class的方法。
注册OCX,调试。成不成就看你自己的了^_^
打开Delphi,关闭已有的空工程,选择File-》New-》Other-》ActiveX-》ActiveXControl,在弹出的窗口中选择TButton,命名MyButton,然后把版本勾上,确定,就会生成一个OCX工程,
2、加载你的Class:
在单元MYButtonImpl1的Private下定义你的Class对象,如:MyClass:TMyClass;然后在InitializeControl中创建你的对象,Destroy中释放你的对象;
3、添加OCX属性、方法、事件:
点击窗体上的View-》Type Library,在弹出的窗体上添加你的方法,事件,属性等(这些方法的参数参考你自己Class中的方法,因为步骤4中要调用你Class中的方法),然后点击该窗体上的Refresh按钮,这是你会发现MYButtonImpl1下多了很多方法,但是这些方法都没有实现;
4、调用你的Class对象方法:
在步骤3中生成的方法调用你自己Class的方法。
注册OCX,调试。成不成就看你自己的了^_^
#5
谢谢 wuyu1981(方圆)
明天我去试试看,成了就再开个帖子给你加分
不过有个问题是我的class调用了dll,会不会有什么问题,我记得是那个朋友跟我说要拔掉用了dll的代码封装进activex很麻烦
明天我去试试看,成了就再开个帖子给你加分
不过有个问题是我的class调用了dll,会不会有什么问题,我记得是那个朋友跟我说要拔掉用了dll的代码封装进activex很麻烦
#6
占个地方,回来学习一下
#7
activexform
#8
顶一下
#9
UP
#10
在InitializeControl中创建你的对象的时候 载入你的dll,
Destroy中释放你的对象的时候释放你的dll ;就可以了,不会麻烦吧
Destroy中释放你的对象的时候释放你的dll ;就可以了,不会麻烦吧
#11
不错,值得学习!
#12
谢谢楼上的大虾们,但有些问题还是没有解决:
1、我创建了MYButtonImpl1,里面只有InitializeControl方法,没有Destroy,于是我自己申明了一个destroy却总是报错,不能释放资源的话,会出很多问题。
2、由于该控件是继承自button,我倒入activex控件后,总是出现一个button,怎么把他的visiable设为false?有没有办法去掉那些跟button相关的无用属性,做成像delphi自带的那些不可视控件一样。
再次感谢
1、我创建了MYButtonImpl1,里面只有InitializeControl方法,没有Destroy,于是我自己申明了一个destroy却总是报错,不能释放资源的话,会出很多问题。
2、由于该控件是继承自button,我倒入activex控件后,总是出现一个button,怎么把他的visiable设为false?有没有办法去掉那些跟button相关的无用属性,做成像delphi自带的那些不可视控件一样。
再次感谢
#13
高手快出来帮一下忙啊·?
#14
怎么把button德visiable射职位falsle?
我再InitializeControl里设置,没用阿
我再InitializeControl里设置,没用阿
#15
顶一下^_^
#16
你在哪个窗体上用这个button,就在那个窗体的FormShow里面设置MyButton.visable := False;
我测试过我得,可以隐藏啊!
实在不行就用一种变通的方法:用别的控件覆盖这个MyButton就可以了。
我测试过我得,可以隐藏啊!
实在不行就用一种变通的方法:用别的控件覆盖这个MyButton就可以了。
#17
对啊,我也有这样的问题,不过我是用的ActiveForm创建的,但存在一个问题,就是如何能实现象VCL非可视化控件一样,在编程阶段,只是一个图标,而在运行阶段则会自动隐藏不可见。编写Ocx控件该如何做呢。我自己也在程序的Create事件中加入了该ocx的visable属性是可以的,但始终要靠外界的代码来实现,我想在ocx内部实现,不知哪位高手能指点,在此先谢了。
#18
哎,今天把这个控件拿去整合,结果本来在测试阶段那个类很好用的(受到大家认可的),一弄成一个控件,就必须要跟那些程序员强调,需要设置为false,那些属性没用,别管他......结果我被项目管理人员骂了一通,你到底会不会编程那!?我.......无语,那位大人,救命啊