无语啊! ( 积分: 50 )

  • 主题发起人 主题发起人 暗夜中独舞
  • 开始时间 开始时间

暗夜中独舞

Unregistered / Unconfirmed
GUEST, unregistred user!
两个循环
for y:=0 to count1 do
being
//这里就一句赋值的.....
for x:=0 to count2 do
beign
{这里有个二维数组的操作(512*512)}
end;
end;

for y:=0 to count3 do
being
//这里就一句赋值的.....
for x:=0 to count4 do
beign
{这里有个二维数组的操作(64*64)}
end;
end;
这样运行的时候就出错, 是某个模块地址上的值写不进去还是怎么的
有个对话框弹出来
然后,
我在中间加句Edit1.text:=IntToStr(count4);这样就又可以了...如下:
for y:=0 to count1 do
being
//这里就一句赋值的.....
for y:=0 to count2 do
beign
{这里有个二维数组的操作(512*512)}
end;
end;
Edit1.text:=IntToStr(count4);
for y:=0 to count3 do
being
//这里就一句赋值的.....
for y:=0 to count4 do
beign
{这里有个二维数组的操作(64*64)}
end;
end;

这这这 这也太奇怪了吧...........
 
嵌套循环的循环变量怎么是一个东东Y,当然出错了,加上你那一句没报错也很偶然,只怕你的程序还是有问题.
 
不是不是 是我打错了 那是X
 
要看你这4个循环的具体代码才好说.
 
代码很简单 都是赋值的.....
就是要赋给二维数组
 
把报错的提示写出来。
估计是你操作数组超界。
 
错误是:
Access violation at address 1606dce2 in module 'project1.exe' write of address 01030020
 
两个循环的代码相似
报错报在第一个循环那 我大概给出一下
for y:=0 to count3 do
being
dcp2:=dcpBmp.scanline[y];//var dcp:pByteArray;dcpBmp:TBitmap
for x:=0 to count4 do
beign
d2:=dcp2[x*3+2];
D[X+1,Y+1]=d2;//D是64×64的
end;
end;
 
for y:=0 to count3 do //<=== count3 多大?
being
dcp2:=dcpBmp.scanline[y];//var dcp:pByteArray;dcpBmp:TBitmap
// dcpBmp.scanline[?] 数组多大
for x:=0 to count4 do // <=== count4 多大?
beign
d2:=dcp2[x*3+2];// dcp2[?] 数组多大
D[X+1,Y+1]=d2;//D是64×64的
end;
end;
 
我知道错误了 谢了
原来那个图片是要限制大小的
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
后退
顶部