众位大侠,我的checklistbox的clickcheck事件是这样定义的:
...
procedure TFrmTvFood.CLBxTvPgmClickCheck(Sender: TObject);
var
i:integer;
begin
i:=StrToInt(copy(CLBxTvPgm.Items[CLBxTvPgm.ItemIndex],2,2));
if CLBxTvPgm.Items[CLBxTvPgm.ItemIndex][6]='-' then
CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex]:=False;
if CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex] then
Authority[i]:='*'
else
Authority[i]:='-';
end;
...其中,Authority是我在implementation上面定义的全局变量,如下:
...
var
FrmTvFood: TFrmTvFood;
Authority: String;
implementation
...但是运行后,我点击checklistbox内的每一项,就会出现如下警告:
Access violation at address 004F0A08 in module 'UsrNet.exe'. Write of address 0000000F.
我点击确定后,有可以继续选择下一个。但是弹出同样的警告。
请问这是为什么?
...
procedure TFrmTvFood.CLBxTvPgmClickCheck(Sender: TObject);
var
i:integer;
begin
i:=StrToInt(copy(CLBxTvPgm.Items[CLBxTvPgm.ItemIndex],2,2));
if CLBxTvPgm.Items[CLBxTvPgm.ItemIndex][6]='-' then
CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex]:=False;
if CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex] then
Authority[i]:='*'
else
Authority[i]:='-';
end;
...其中,Authority是我在implementation上面定义的全局变量,如下:
...
var
FrmTvFood: TFrmTvFood;
Authority: String;
implementation
...但是运行后,我点击checklistbox内的每一项,就会出现如下警告:
Access violation at address 004F0A08 in module 'UsrNet.exe'. Write of address 0000000F.
我点击确定后,有可以继续选择下一个。但是弹出同样的警告。
请问这是为什么?
解决方案 »
- 急,在线等。
- 求delphi 通用查询模块 200分
- fastreport设计报表时错误:variant array index out of bounds
- 怎么能使ole组件的背景颜色在非编辑状态时变成白的?怎么将ole中的内容存入数据库并读取它?
- 一个有些难度的问题,各位大哥帮忙瞧瞧啊!!!!!!!!!
- 請求幫助
- 学delphi用那些书好?急!
- 怎样把一个点阵还原成一个位图??
- cxGrid问题
- if Memo1.Lines.Values['Title1'] = '' then 在Help里看到的,什么意思啊.Thanks
- 请问怎么在报表打印前设置打印机的打印方向?
- 如何得到QRDBTEXT得值
var
i:integer;
begin
i:=StrToInt(copy(CLBxTvPgm.Items[CLBxTvPgm.ItemIndex],2,2));
/////////////
SetLength(Authority, i); //这样就可以了
///////////
if CLBxTvPgm.Items[CLBxTvPgm.ItemIndex][6]='-' then
CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex]:=False;
if CLBxTvPgm.Checked[CLBxTvPgm.ItemIndex] then
Authority[i]:='*'
else
Authority[i]:='-';
end;
我记得以前好象这样写:
Authority: type [0..99] String;//忘记怎么定义了。请指教。谢谢。
这样更符合内存分配的思想
用以前的方法为字符串分配空间在处理没有现在这样方便
ShowMessage(Authority);//显示的就是一个小窗口和一个按钮,其他什么都没有请问这是为什么,我明明已经点选了checklistbox里面的选项呀?Authority就应该已经被赋值。