求助E878呼叫限制是什么意思问题

(冷瞳小可爱)
(冷瞳小可爱)
(岁月如歌)
第三方登录:(冷瞳小可爱)
(冷瞳小可爱)
(岁月如歌)
第三方登录:【求助】关于Getmem与blockread的问题【delphi吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:15,972贴子:
【求助】关于Getmem与blockread的问题收藏
最近编的一个程序遇到一个问题,请各位高手相助~我用的是Delphi7.0,用Getmem得到了一个动态数组,可以正常访问,在watch中可以正确显示数值;但对其使用Blockread(正常通过)后,再访问就会报一个类似"access violation at xxxxxxxx"的错误,此时在watch中也看到该数组的元素都被标上了"inaccessible value",这是怎么回事?代码大致如下:var
...//文件操作等
getmem(dat,filesize);
dat[0]:=0;//这里可以正常访问
blockread(f,dat,100,numread);//正常通过,且通过后numread=100
dat[0]:=0;//这里就出错了
... 事后我把dat换成静态数组就没有这个问题了。我想请教我要怎么在这里使用动态数组?
Foxtable 2017,轻松输入,轻松统计,轻松出报表,人人都能开发数据库管理软件!
自己顶,求教育
procedure GetMem(var P: P Size: Integer);Creates a dynamic variable and a pointer to the address of the block. getmem(dat,filesize);dat[0]:=0;//这里可以正常访问这个正确,分配了内存blockread(f,dat,100,numread);//正常通过,且通过后numread=100应该是把dat放入了stack(栈中),程序员不能直接访问。需要把他从栈中取出。
blockread(f,dat,100,numread);//正常通过,且通过后numread=100-----------------------------错了。 blockread(f,dat,100,numread);//正常通过,且通过后numread=100这个没有找到相应的源码,和函数说明。 下面是静态成员的汇编Unit1.pas.66: blockread(f, dat, 100, numread);//正常通过,且通过后numread=100D45FC
lea eax,[ebp-$04]
push eaxD954CFEFFFF
lea edx,[ebp-$]4000000
mov ecx,$D85B0FEFFFF
lea eax,[ebp-$]648FBFF
call @BlockRead943FBFF
call @_IOTestUnit1.pas.67: if read & 0 thenDB
test ebx,ebxE07
jle +$07Unit1.pas.68: dat[0]:=0;//这里就出错了0044E86F C6854CFEFFFF00
mov byte ptr [ebp-$],$00C0
xor eax,eaxA
pop ecx8910
mov fs:[eax],edx9BE84400
push $0044e89b
二动态成员的汇编0044E89C E81B48FBFF
call @BlockRead E84E43FBFF
call @_IOTestUnit1.pas.68: dat[0]:=0;//这里就出错了 8B45FC
mov eax,[ebp-$04] C60000
mov byte ptr [eax],$000044E8AC 33C0
xor eax,eax0044E8AE 5A
pop edx0044E8AF 59
pop ecx 59
pop ecx 648910
mov fs:[eax],edx 68D1E84400
push $Unit1.pas.78: CloseFile(F); 8D85ACFEFFFF
lea eax,[ebp-$]0044E8BF E81848FBFF
call @Close E82B43FBFF
call @_IOTest C3
ret 0044E8CA E91D58FBFF
jmp @HandleFinally0044E8CF EBE8
jmp -$18 33C0
xor eax,eax 5A
pop edx 59
pop ecx 59
登录百度帐号(冷瞳小可爱)
(冷瞳小可爱)
(岁月如歌)
第三方登录:

我要回帖

更多关于 您已设置呼叫限制 的文章

 

随机推荐