delphi中新建了一个unit2,但是里面无法使用edit1.text := ''; 20
functioncheckinput():string;beginedit1.Text='';end;...
function checkinput():string;
begin
edit1.Text = '';
end; 展开
begin
edit1.Text = '';
end; 展开
4个回答
展开全部
1、看你的函数定义是个普通函数,而不是某个类(如TForm2,在unit2中定义)的方法,所以不能直接访问edit1,得写成Form2.edit1;
2、如果unit2中没有定义TForm2,则不会存在edit1,或者edit1是其它窗体的,就需要uses 定义包含edit1的窗体之单元;
3、如果想把unit2最终弄成一个通用函数、过程的小库,则最好不要uses某个工程特定的单元,如project1de unit1,而是uses通用的Classes, StdCtrls等,在这个远景下,你的函数应该定义如下:
function checkinput( AEdit: TEdit ) : string;
......
begin
AEdit.Text = '';
end;
2、如果unit2中没有定义TForm2,则不会存在edit1,或者edit1是其它窗体的,就需要uses 定义包含edit1的窗体之单元;
3、如果想把unit2最终弄成一个通用函数、过程的小库,则最好不要uses某个工程特定的单元,如project1de unit1,而是uses通用的Classes, StdCtrls等,在这个远景下,你的函数应该定义如下:
function checkinput( AEdit: TEdit ) : string;
......
begin
AEdit.Text = '';
end;
追问
unit1已经uses unit2
unit2再uses unit1
会不会循环?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Unit2中的uses中需要添加定义edit1的单元名。
窗体名.edit1.text:='';
窗体名.edit1.text:='';
追问
unit1已经uses unit2
unit2再uses unit1
会不会循环?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
edit1.text:=copy(edit1.text,1,length(edit1.text)-1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
edit1.text:=copy(edit1.text,1,length(edit1.text)-1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询