请问:Access violation at address 0000000C. Read of Address 0000000c是什么错误啊? (

  • 主题发起人 主题发起人 P_lilac
  • 开始时间 开始时间
这种结构可以用数组解决,而且数组不用手工释放,建议改成:
Type
TDataDic = record
cna: string
//中文名称
eng: string
//英文名称,
FLD: string
//字段类型,
end;
PDataDic = Array of TDataDic;

var fDic : PDataDic;
procedure TQBTable.的Create事件:
while not adsPublic.Eof do
begin
fDic[adsPublic.RecNo].eng:=adsPublic.fieldbyname('SFieldName').AsString;
fDic[adsPublic.RecNo].cna:=adsPublic.fieldbyname('SFieldLabel').AsString;
fDic[adsPublic.RecNo].FLD:=adsPublic.fieldbyname('SFIELDTYPE').AsString;
FLbx.Items.AddObject(fDic[adsPublic.RecNo].cna,TObject(fDic))

//Flbx是一个ListBox板
adsPublic.Next;
end;

procedure TQBTable._CloseBtn(Sender: TObject);
begin
Self.Free;
end;
 
指针这种类型,Borland推荐的做法是不要再使用了。
 
procedure TQBTable._CloseBtn(Sender: TObject);
begin
Self.Free
//这句是不是想关闭窗体呢?直接用Close得了;
end;

procedure TQBTable._CloseBtn(Sender: TObject);
begin
Close;
end;
 
关注中,我也是遇到了同样的问题呀
 
地址访问错误
就是你用的指针错误的修改了一些不是自己想修改的内存地址的内容
造成了问题
 
多人接受答案了。
 

Similar threads

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