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;
在Unit2中的uses中需要添加定义edit1的单元名。
窗体名.edit1.text:='';
edit1.text:=copy(edit1.text,1,length(edit1.text)-1);