Delphi报错,不知为何?
unitGameForm;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Varia...
unit GameForm;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
Vcl.StdCtrls,jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
map:array[0..100,0..100] of integer;
imgmap:array[0..100,0..100] of Timage;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i,j,k,l:longint;
begin
for I := 0 to 100 do
for j := 0 to 100 do begin
imgmap[i,j]:=Timage.Create(self);
imgmap[i,j].Width:=33;
imgmap[i,j].Height:=33;
imgmap[i,j].Top:=1;
imgmap[i,j].left:=1;
imgmap[i,j].Picture.LoadFromFile('D:\Laz\Island\Win32\Debug\Blocks\1.png');
imgmap[i,j].Stretch:=true;
end;
end;
End.
文件路径我检查过的没错。
现在报这个错:
请问为什么??? 展开
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
Vcl.StdCtrls,jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
map:array[0..100,0..100] of integer;
imgmap:array[0..100,0..100] of Timage;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i,j,k,l:longint;
begin
for I := 0 to 100 do
for j := 0 to 100 do begin
imgmap[i,j]:=Timage.Create(self);
imgmap[i,j].Width:=33;
imgmap[i,j].Height:=33;
imgmap[i,j].Top:=1;
imgmap[i,j].left:=1;
imgmap[i,j].Picture.LoadFromFile('D:\Laz\Island\Win32\Debug\Blocks\1.png');
imgmap[i,j].Stretch:=true;
end;
end;
End.
文件路径我检查过的没错。
现在报这个错:
请问为什么??? 展开
展开全部
给你的示例程序你还没读懂,同一个图片文件,需要每次都用LoadFromFile装载吗?
还有就是你的程序要用101*101=10201个Image控件显示图片,要考虑内存的开销,图片要尽量小。很可能你的程序就是因为内存问题出错。
还有就是你的程序要用101*101=10201个Image控件显示图片,要考虑内存的开销,图片要尽量小。很可能你的程序就是因为内存问题出错。
更多追问追答
追问
错在: Else imgmap[i,j].Picture:=imgmap[1,1].picture;
显示:…… read of address 0x000001c0'. Process Island.exe (2360)
展开全部
Image.Parent := AFormOrAWinControl;//对于你的代码,可以使用Self,此时Self指的是Form1。
你需要理解TWinControl的Owner和Parent属性。Owner是维护对象关系的,着眼点是内存管理,在创建和销毁时非常重要。Parent是维护显示关系的,着眼点是相对位置和前后层级。
你需要理解TWinControl的Owner和Parent属性。Owner是维护对象关系的,着眼点是内存管理,在创建和销毁时非常重要。Parent是维护显示关系的,着眼点是相对位置和前后层级。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这里用XE5尝试了没有问题啊,就是加载的有点慢 ,楼主断点调试下看看,是哪句报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询