i:=Form1.ClientRect.Right;
为什么赋值不行?
Form1.ClientRect.Right为600
赋值后,i为0
为什么???
为什么赋值不行?
Form1.ClientRect.Right为600
赋值后,i为0
为什么???
解决方案 »
- 关于delphi的LOCATE定位的问题[悬赏50分]
- 两表查询的SQL语句问题
- 我在工程文件中uses midasLib单元,将midas打包进服务器端,exe也大了200多K,但运行时为什么还是提示需要midas.dll?应该怎么做才能编译成
- 安装fastrepost时 出现一些错误!请帮助解决
- 设置了一个Variant类型变量,输入内容时如何判断这个变量是字符(如:aaag)还是数字(如:123)
- 如何在线程内创建COM+组件,在主线程中使用这个COM+组合?
- 哪有TwordApplication,TWorddocument的帮助说明?急!高分送
- 把a页面关闭后,怎么样自动是b页面的一个按钮自动按下?
- 日文转中文的困惑.有实例!
- 高分求解数据转换问题
- 我在做程序时,我想在unit3单元引用unit2单元里的函数怎么做啊,我用use unit2还是说找不到该函数,不知道还要添什么代码?(在线等待)
- 怎样去掉delphi中form的图标(不是更换)
没错的
那么就是被delphi自动优化掉了。
var
ClientRect:TRect;
i,n:integer;
begin
ClientRect:=Form1.ClientRect;//这个也不能赋值
if (Bitmap <> nil) then
begin
Bitmap.Free;
end;
Bitmap:=TBitmap.Create;
i:=Form1.ClientRect.Right;//-Form1.ClientRect.Left;//不能赋值
Bitmap.Width:=i;//不能赋值
Bitmap.Height:=Form1.ClientRect.Bottom-Form1.ClientRect.Top;//不能赋值
with Bitmap do
begin
Canvas.Brush.Color:=clBlack;
Canvas.FillRect(Form1.ClientRect);
Canvas.Pen.Color:=clRed;
n:=5;
n:=ClientRect.Bottom div 5;
i:=0;
while (i<ClientRect.Bottom) do
begin
Canvas.MoveTo(ClientRect.Left,i);
Canvas.LineTo(ClientRect.Right,i);
i:=i+n;
end;
end;
Form1.Canvas.Draw(0,0,Bitmap);
end;
改为:
procedure TForm1.Button1Click(Sender: TObject);
var
ClientRect:TRect;
i,n:integer;
begin
ClientRect:=ClientRect;//这个也不能赋值
if (Bitmap <> nil) then
begin
Bitmap.Free;
end;
Bitmap:=TBitmap.Create;
i:=ClientRect.Right;//-Form1.ClientRect.Left;//不能赋值
Bitmap.Width:=i;//不能赋值
Bitmap.Height:=ClientRect.Bottom-ClientRect.Top;//不能赋值
with Bitmap do
begin
Canvas.Brush.Color:=clBlack;
Canvas.FillRect(ClientRect);
Canvas.Pen.Color:=clRed;
n:=5;
n:=ClientRect.Bottom div 5;
i:=0;
while (i<ClientRect.Bottom) do
begin
Canvas.MoveTo(ClientRect.Left,i);
Canvas.LineTo(ClientRect.Right,i);
i:=i+n;
end;
end;
Canvas.Draw(0,0,Bitmap);
end;
那么就是被delphi自动优化掉了。
这是delphi的特性!!!!