类的实例化问题? 我建立了一个项目,有一个窗体,Unit1引用Unit2,Unit2中有类的声明,如何能在Unit1中创建这个类的实例,并且显示出来。这个类可以注册成控件来使用,为什么在窗体中直接使用不行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 uint1var a: Tyourcontrolname;begin a:=Tyourcontrolname.create(self); a.yourmethod..... end; 呵呵,熟人的问题当然要回答了,呵呵既然你在Unit1引用了Unit2中定义的类,那么直接创建实例就可以了!SomeObject:=TSomeClass.Create(Self);不过需要注意几点:一.由于你的实例窗体文件中创建的,所以已经指定了Owner,因此没有必要自己显式的释放了;二.如果你这个类是做成了控件的形式,而你又需要将它显示出来,所以创建后你应当指定这个实例的Parent属性,否则这个实例不会显示的!OK???? 补充:任何实例说白了都是指向堆中对象实体的指针,而由于堆中的任何东西都是无法自动释放的,所以你需要显式的调用Destroy(或Free)或Dispose来释放,但当在创建对象时指定了Owner的情况下不需要在自己释放,因为这个时候释放工作已经由Owner完成了!另外,创建对象后需要赋予对象的Parent属性,否则没有其他对象负责绘画你创建的对象,因此你看不到你自己创建的东西,即使你使用了Show方法! 我今天信誉分刚减少了2分,真TMD! 如何取一个程序已经加载的 dll基址 急用!怎样捕捉到麦克风有声音输入??? 请教:关于使用剪贴板复制、粘贴文件(不是文件内容)的问题? 简单问题,高分!!! 关于文件加密的问题! 如何提交“年”和“月”? 关于在DELPHI中使用SQL_DMO对象库的问题,请高手帮助!! 大家帮忙分析一下这段代码啊!!! 给Delphi程序员的当头一棒!啊! 问题,关以动态连接库,我实在不懂如何窗体和代码分离 如何动态在ado中添加计算列? 三层中,如何修改数据库中的记录?
var
a: Tyourcontrolname;
begin
a:=Tyourcontrolname.create(self);
a.yourmethod.....
end;