请大家讨论一下动态创建控件的问题!!UP有分!
我在创建动态控件时,有时能编译有时不能为何???
我在创建动态控件时,有时能编译有时不能为何???
解决方案 »
- delphi 2010 idhttp使用TIdMultiPartFormDataStream post 中文问号
- 请教一个 DBGridEh 问题
- 在简体XP, ACCESS2000下写的东西,拿到繁体XP, ACCESS2003环境中运行,连不上库?
- 急招Delphi高级程序员 (待遇丰厚)
- 在一个界面里有二十多个checkbox.怎用同时对它们置为checked??
- 小弟不才,转行搞delphi,看看我写的方向,挥泪求路标指示人!这次真下决心搞delphi了,搞到白头!
- A窗体edit内容写入后,关闭A窗体,传到B窗体memo中的继续讨论
- 语言无关而人人都会碰到的安全问题:不是电脑是女人
- 怎么copy一个目录下的所有文件和目录?
- 编写TAPI程序需USES 哪些东西,
- paradox表格输入问题(急!急!急!!!!!!!!!!!)
- 有关FtpServer的问题,高分寻求帮助。
动态创建控件就这样:
var
Btn:TButton;
begin
Btn:=TButton.Create(Self);
Btn.Parent:=Self;
Btn.Left:=30;
Btn.Top:=20;
end;
1、动态创建的控件要指定parent
2、要释放
[Error] Unit1.pas(20): Undeclared identifier: 'TProgressar'
[Error] Unit1.pas(20): Undeclared identifier: 'TProgressar'
你的错误肯定不是动态创建的问题!动态创建只要你的控件定义对了,再USE你该控件必须的UNIT,
想怎么创建都可以!
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,ADODB, DB;
//要用到AODQUERY就要USE ADOD;
var
adoqmodify:tadoquery;
begin
try
adoqmodify:=tadoquery.Create(nil);
adoqmodify.Connection:=form1.ADOConnection1;
adoqmodify.SQL.Text:='select * from table';
adoqmodify.Open;
finally
adoqmodify.Free;
end;
end;//OK!……
end;
XXX.free;
end;
necesaryunit;
////////////////
if you do not know which unit to use,open "delphi help" and type the class you are using for instance "TProgressbar",then you will know everything.
例如创建ADO对象时注意,没有FORM的工程,如服务,不能直接创建ADO,否则出错,需要初始化COM组件
解决方法是:查查TProgressar在哪个单元下,然后添加。简单的方法是添加一个该控件后删除!
progressbar:TProgressBar;
begin
progressbar:=TProgressBar.Create(self);
with progressbar do
begin
parent:=self;
align:=alBottom;
end;
end;
别人告我这么写,告完就消失了!!!!!!!!!!!
假设使用一个button来创建控件。
现在窗体上放一个progressbar控件,这样会自动声明progressbar1:TProgressBar;
然后在 TForm1.Button1Click里写上
var
progressbar1:TProgressBar;
begin
progressbar1:=TProgressBar.Create(self);
with progressbar1 do
begin
progressbar1.parent:=self;
progressbar1.align:=alBottom;
end;
end;
然后将刚才自己放上的那个progressbar删除。编译一下试试,应当就可以了,如果不行,权当灌水了:)