delphi程式报错:Access violation at address 请高手帮忙!小弟感激不尽……

HDGUY 2010-04-29 11:09:03
procedure TForm_SETUP.btn_SENDTARGClick(Sender: TObject);
var
da:array[1..300] of Byte;
inbuff: array [1..32] of Byte;
str:AnsiString;
i,j,sum,port,send_len:Integer;
cs:PComStat;
nBytesRead, dwEvent, dwError:DWORD;
device_t:string;
id:Integer;
begin
port:=cbb1_port.ItemIndex+1;
InitComport(port);
id:=se_device.value;
fill_head(da, id, 'Y',0);
da[12]:=Byte(1);
da[13]:=$00;
IF rb_LEFT.Checked then
da[13]:=$01;

str:=Trim(edt_TARGET.Text);
for i:=0 to Length(str) do
begin
da[i+14]:=Byte(str[i+1]);
end;
da[Length(str)+14]:=$0;
da[10]:=1+2+Length(str)+1;
send_len:=get_sum(da,da[10]);

if (id=GB_ID) then
begin
i := MessageBox(0, 'OK!','WARING,MB_OKCANCEL);
IF (I=2) then
CloseHandle(hcomm);
end;

SendData(da,send_len);
Sleep(1);
if (id=GB_ID) then
BEGIN
CloseHandle(hComm);
ShowMessage('COMPLET!');
end;
Sleep(200);
ClearCommError(hComm,dwError,cs);

if (cs.cbInQue>SizeOf(inbuff)) then
PurgeComm(hComm, PURGE_RXCLEAR);
ReadFile(hComm, inbuff,cs.cbInQue,nBytesRead,nil);
CloseHandle(hComm);
if chk_result.Checked then//将此行拿掉时程式就能运行正常
//加上后就报:Access violation at //address 0295DB54 in module //'TEST.EXE'. Read of address 00000004

show_result(inbuff, id, 'Y');
end;
...全文
356 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzwcn 2010-05-01
  • 打赏
  • 举报
回复
如果你的chk_result是动态创建的,你看看是不是已经被释放的,如果不是,看一下它的onClick事件里做什么处理,说不定是里面出的错
ljluck7687 2010-05-01
  • 打赏
  • 举报
回复
错误的根源不是chk_result
delphi许多提示错误的地方并不是真正的错误所在
kfcoffe 2010-05-01
  • 打赏
  • 举报
回复
跟踪chk_result 看是否创建或者创建以后还存在
Checked属性你确定可以访问?
HDGUY 2010-04-30
  • 打赏
  • 举报
回复
呵呵,不好意思哈,好像现在是改不成了,大家先将就着看吧!
楼上的说的对,那个CHK_RESULT是个CHECKBOX。
确切的说我也发现好像是那个CS.INQUE出问题了,不过也怪了,为什么我那句:if chk_result.Checked then只要一加上就报这个上面的错,它和那个CS.INQUE有什么关系呀,实在是搞不懂……
winstonbonaparte 2010-04-30
  • 打赏
  • 举报
回复
。。。。你那注釋的顏色。。。實在是讓我眼睛很難受

這種訪問內存地址錯誤的肯定是你訪問了不存在或是不能訪問的地址造成的。chk_result你這個是什麼控件啊,是checkbox嗎

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧