re.free出现内存非法访问的错误,请教各位高手!
var
ii,j:integer ;
deletechart:string;
queryc:TADOQuery;
begin
try
queryc:=TADOQuery.Create(self);
queryc.Connection :=dbprocess.acprocess ;
for ii:=FrmMain.ComponentCount-1 downto 0 do
begin
if FrmMain.Components[ii] is TRectBox then
begin
re:=TRectBox(FrmMain.Components[ii]);
deletechart:=FrmMain.Components[ii].Name;
with queryc do
begin
if midstr(deletechart,1,3)='Uob' then /////////////删除活动图信息
begin
if re.Focus then
begin
close;
sql.Clear ;
sql.Text :='select * from uob where uob_id='''+deletechart+'''and model_id='''+model_id+'''';
open;
if recordcount=0 then
begin
combobox1.Items.Delete(combobox1.Items.IndexOf(re.Name));
combobox1.text:='';
VLE.Strings.Clear;
for j:=0 to treeview1.Items.Count-1 do
begin
if treeview1.Items[j].Text=re.Caption then
begin
treeview1.Items.Delete(treeview1.Items[j]);
break;
end;
end;
re.Free;
re:=nil;
break;
end
var
ii,j:integer ;
deletechart:string;
queryc:TADOQuery;
begin
try
queryc:=TADOQuery.Create(self);
queryc.Connection :=dbprocess.acprocess ;
for ii:=FrmMain.ComponentCount-1 downto 0 do
begin
if FrmMain.Components[ii] is TRectBox then
begin
re:=TRectBox(FrmMain.Components[ii]);
deletechart:=FrmMain.Components[ii].Name;
with queryc do
begin
if midstr(deletechart,1,3)='Uob' then /////////////删除活动图信息
begin
if re.Focus then
begin
close;
sql.Clear ;
sql.Text :='select * from uob where uob_id='''+deletechart+'''and model_id='''+model_id+'''';
open;
if recordcount=0 then
begin
combobox1.Items.Delete(combobox1.Items.IndexOf(re.Name));
combobox1.text:='';
VLE.Strings.Clear;
for j:=0 to treeview1.Items.Count-1 do
begin
if treeview1.Items[j].Text=re.Caption then
begin
treeview1.Items.Delete(treeview1.Items[j]);
break;
end;
end;
re.Free;
re:=nil;
break;
end
解决方案 »
- 如何实现主子线程间的互斥?
- 有关snmp的MIB浏览
- 千金散尽还复来 D版朋友们,双蛋快乐
- 怎么在 DBGrid 中跟踪数据记录
- 关于用Delphi把指定文件夹下的jpg图片存储到Oracle中(在线等候)!
- 时间问题
- 100 分求解 Turbo Pascal 代码:请用 Turbo Pascal 写出一个和 VB 里面 Replace 函数同样功能的函数?
- 怎样通过WIN32_FIND_DATA得到文件的创建时间?
- 在98下程序执行正确,2000下为什么报错??
- 哪位大侠能告诉我怎样利用mci在程序中录制声音文件(wav)?
- 将variant类型转换成memory,类似的函数该怎么写呢?大侠们给点提示吧
- 客户端之间的通信
ii,j: Integer ;
deletechart: String;
queryc: TADOQuery;
begin
try
queryc := TADOQuery.Create(self);
queryc.Connection := dbprocess.acprocess ;
for ii := FrmMain.Component Count-1 down to 0 do
begin
if FrmMain.Components[ii] is TRectBox then
begin
re := TRectBox(FrmMain.Components[ii]);
deletechart := FrmMain.Components[ii].Name;
with queryc do
begin
if midstr(deletechart,1,3) = 'Uob' then /////////////删除活动图信息
begin
if re.Focus then
begin
close;
sql.Clear ;
sql.Text := 'select * from uob where uob_id='''+deletechart+'''
and model_id='''+model_id+'''';
open;
if recordcount=0 then
begin
combobox1.Items.Delete(combobox1.Items.IndexOf(re.Name));
combobox1.text:='';
VLE.Strings.Clear;
for j:=0 to treeview1.Items.Count-1 do
begin
if treeview1.Items[j].Text=re.Caption then
begin
treeview1.Items.Delete(treeview1.Items[j]);
break;
end;
end;
re.Free;
re:=nil;
break;
end没做什么事,就是看你代码太乱了,帮你整整