永发信息网

Delphi这个程序运行为什么出错啊???

答案:2  悬赏:60  手机版
解决时间 2021-02-18 13:28
是这样的代码:(主要)
Player=class
Public id,health,top,left,pos:byte;
Public clist:array[1..9] of byte; //持有的牌列表
end;
Var
list:array[1..4] of Player;
…………………………
for i := 1 to 4 do
for j := 1 to 9 do list[i].clist[j]:=0;
为什么报错在最后一句???
First chance exception at $005CD630. Exception class $C0000005 with message 'access violation at 0x005cd630: write of address 0x00000009'. Process Programmer_Card.exe (5216)
最佳答案
你没有把物件建构起来...
for i := 1 to 4 do
begin
if ( list[i] = nil )then
list[i] := Player.Create( );

for j := 1 to 9 do
list[i].clist[j]:=0;
end;

所以程式结束时在 OnDestroy 事件加入
for i := 1 to 4 do
begin
if ( list[i] <> nil )then
list[i].Free;
end;
全部回答
没有安装delphi7的不能运行,安装了的就能运行,这是因为数据库需要delphi自己带的bde文件。 --delphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同时发布bde(borland database engine),否则会引起错误“a error occurred while attempingto initilize borland database engine(error $2109)”。当觉得程序太大而辛辛苦苦精简自己的程序到满意时,却发现bde管理程序器需要9m之巨,不由感到沮丧,真有点自己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯尝试,还是有办法来精简bde的。 首先来看看bde目录中的文件,所有文件确实有近9m大吧。不过有些可能是用不到的,关键文件的作用可参见bde32.hlp中“introduction to borland database engine”下的“core bde files”,其中列出了bde的关键文件及其作用,可以以此作为依据来尝试精简bde驱动程序。下面是各个文件的作用: 一、不可缺少的文件 ---- blw32.dll:语言驱动函数库。 ---- idapi32.dll:bde基本函数库。 ---- fareast.bll、usa.bll:远东语言及美国语言驱动程序,对中文软件不可缺少。 ---- idr20009.dll:错误信息库。 二、数据库驱动程序(根据需要选择一个或多个) ---- idasci32.dll:ascii文本数据库驱动程序函数库,如果不用ascii文本数据库,可以不要。 ---- iddao32.dll:access数据库驱动程序函数库,如果不用access数据库,可以不要。 ---- iddbas32.dll:dbase数据库驱动程序函数库,如果不用dbase数据库,可以不要。 ---- idodbc32.dll:odbc数据库驱动程序函数库,如果不用odbc数据库,可以不要。 ---- idpdx32.dll:paradox数据库驱动程序函数库,如果不用paradox数据库,可以不要。 三、其它驱动程序和配置文件(根据需要选择一个或多个) ---- idbat32.dll:批操作驱动程序函数库,如果不用tbatchmove控件或dbibatchmove类函数,可以不要。 ---- iddr32.dll:data repository驱动程序函数库,如果不用data repository功能,可以不要。 ---- idprov32.dll:bde dataset provide驱动程序函数库,如果不用tprovider控件,可以不要。 ---- idqbe32.dll:qbe驱动程序函数库,如果不用query by example,可以不要。 ---- idsql32.dll:sql查询驱动程序函数库,如果不用tquery进行查询,可以不要。 ---- idapi32.cfg:bde配置文件,如果程序中没有特殊要求,可以不要。也可以在bde管理器中设置正确后再分发。 四、其它文件(一般不用) ---- bde32.hlp、bde32.cnt:bde帮助文件,可以不要。 ---- bdeadmin.exe、bdeadmin.hlp、bdeadmin.cnt:bde管理器及帮助文件,如果不会发生要求软件用户自己配置bde的情况时,可以不要。 ---- 其它*.bll:其它国家和地区的语言驱动程序,可以不要。 ---- databump.exe、databump.hlp、databump.cnt:数据库数据转移工具及帮助文件,可以不要。 ---- localsql.hlp、localsql.cnt:sql查询语句帮助文件,可以不要。 ---- sqllnk32.hlp、sqllnk32.cnt:sql连接帮助文件,可以不要。 ---- 在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以手工设置,但最好在程序中设置,在发现注册表中没有相应键值时写入,用tregfile对象用不了几行代码的。需要设置的注册表键值有(在调用数据库操作前需要有正确的键值存在): ---- 数据驱动程序所在目录的设置: ---- hkey_lo
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
狗狗不吃食,状态不精神,而且隔十分钟就抻一
在e2046买gk件有什么注意??如果那里写的是
同步法兰编码器是什么?有什么作用?
民国47年7月一日是中国几月几日
航海东路69号院在哪里啊,我有事要去这个地方
点ABCD在数轴上的位置如图所示,其中表示-2的
溧阳市矿产资源管理办公室地址有知道的么?有
梦幻西游什么职业好玩,最近又出现三个新的职
在手机上有什么浏览器可以浮在其他应用上面?
周大福手镯维修后不能和新的一样吗
为什么林黛玉死后无魂无魄?
故乡冷面店我想知道这个在什么地方
除锈质量品级的等级有哪些?这些等级表明了什
罗源的春节作文600字
想用无名指代替食指弹古筝,可以吗
推荐资讯
什么是犯罪行为连续或者继续状态
Intel 酷睿2双核 T8100 与 Intel 酷睿2双核 T
wowah买的时光徽章在包里会过期吗
五行属土十画的字大全
一煲口福重庆鸡公堡(久和店)地址在哪,我要去
尚赫被央视曝光了吗 尚赫是违反的吗
用韩语怎么说王成龙我爱你
如何检查香肠里是否含淀粉
关于肺癌哪项是正确的A.鳞癌和吸烟无关B.以腺
猫的耳朵可以比喻成什么
已知在三角形ABC中,a=2根号3,c=6,A=30度,求三
合胜电脑在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?