关于动态数组的怪问题:怎么老出错(50分)

  • 主题发起人 主题发起人 vai
  • 开始时间 开始时间
V

vai

Unregistered / Unconfirmed
GUEST, unregistred user!

怎么一会invalid pointer operation,一会access violation,
只不过进行了几个mean( ) 之类的操作。
最后delphi4 本身也出错:access violation :coride40.bpl.
 
用没有用setlength为动态数组分配空间
 
当然,用后还finalize(xxx).
是否跟系统有关?
 
代码贴出来.
 

先弄一简单的包死代码:
var diehard:array ofdo
uble;
...
setlength(diehard,100000);
xlabel.text:=inttostr(low(diehard));
for i:=0 to 100000do

diehard:=xxx;
ylabel.text:=inttostr(length(diehard));
...
如果将xlabel.text:=inttostr(low(diehard));移至赋值循环之后则没问题。
请指教除了setlength之外还应注意什么问题。
 
setlength为100000,只能for到0-99999吧?
 
呵呵, cakk真快. 羡慕专线啊
 
赋值好象没问题,可以通过。
就是low(xxx)的位置有关系。
 
上面代码出错信息为:
invalid pointer operation
 
你原先的代码确实要出现invalid pointer operation
改成for i:=0 to 99999之后程序通过.
 
eyes: 呵呵,现在你是稀客牙! 忙吗? CJ怎么样?
 
果然是下标越界,多谢。
 
有问题还要讨教
 
真正忙的日子还没到呢.
最近忙着做套控件.
今天可以完工了.
是一套可以设置透明度的flat wincontrol控件. 包括edit, combobox(内置3种
下拉列表: listbox, stringgrid和treeview, 逐键搜索), panel, scrollbox,
pagecontrol和button.
除了可以设置透明度外还有些特殊onmouseenter, onmouseleave显示.
panel, scrollbox, pagecontrol还可以有设置底图, 如果透明度不为0和
100的话, 效果是底图与背景的alpha band.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
551
import
I
后退
顶部