delphi中调用paintbox1的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:34:51
你好,有个delphi问题问问
我知道上有200多分,留着没什么用,如果帮我解决就给你了。
在我定义的过程中调用paintbox1.的时候一写上点(.)就出现这样的错误
[Error] Unit1.pas(167): Undeclared identifier: 'paintbox1'
而在单击按钮的过程中调用paintbox1.(同样的句子加上点)就没有错误.
这是为什么?
我是在一个单元中调用的。
我的过程如下:
======================================

procedure drawangle();
begin
if(abs(ac)>1) then
ac:=ac/abs(ac);
if(abs(ar)>1) then
ar:=ar/abs(ar);
if(abs(au)>0.999) then
au:=au/abs(au);
if(abs(ac)<0.01) then
ac:=0;
if(ac<0) then
exit;
y:=-au/(1+ac);
x:=ar/(1+ac);
xx:=(x*250+cenx);
yy:=(y*250+ceny);
//画坐标从这儿就开始出错:
paintbox1.canvas.Brush.Color:=clred;
paintbox1.Canvas.Ellipse(trunc(xx-2),trunc(yy+2),trunc(xx+2),trunc(yy-2));
//输出坐标
paintbox1.canvas.ellipse(trunc(xx),trunc(yy),123);
end;

=、========================
是不是因为什么东西没有声明啊?
请问在那儿声明?

paintbox1是你建的窗体下定义的,而你调用的方法中并不存在此对象,如果不是跨单元调用的话,直接把procedure drawangle();这句改成
procedure TForm1.drawangle();然后在private或者public部分声明下就可以了,如果是跨单元调用, 你的方法得重新抽象一下

自定义过程中调用控件就会出错的,可能是有特定的调用方法的...