难道是内存不足?
//Delphi5.0 + Sql Server 7.0
//同样的代码如果单独运行则也正常,但如果放在大的程序中则出现如下问题
Var
Session:Array of TSession;
DataBase:Array of TDataBase;
Query:Array of TQuery;
begin
//如果只创建以下的任意两个对象,并进行相应处理,系统正常。
//如果三个对象都创建,则当退出主程序知,系统提示内存地址异常
SetLength(Session,TotalComNum);
SetLength(DataBase,TotalComNum);
SetLength(Query,TotalComNum);
//分别对Session,DataBase,Query进行初始化
for I := 1 to TotalComNum do
begin
//动态创建数据对象
Session[I - 1] := TSession.Create(Application);
Session[I - 1].Name := 'Session' + IntToStr(I);
Session[I - 1].SessionName := 'Ses1' + IntToStr(I);
Session[I - 1].Active := True;
DataBase[I - 1] := TDataBase.Create(Application);
DataBase[I - 1].Name := 'DataBase' + IntToStr(I);
DataBase[I - 1].AliasName := 'gsmphone';
DataBase[I - 1].DatabaseName := 'DB' + IntToStr(I);
DataBase[I - 1].LoginPrompt := False;
DataBase[I - 1].Params.Add('USER NAME=sa');
DataBase[I - 1].SessionName := Session[I - 1].SessionName;
DataBase[I - 1].Connected := True;
Query[I - 1] := TQuery.Create(Application);
Query[I - 1].Name := 'Query' + IntToStr(I);
Query[I - 1].SessionName := Session[I - 1].SessionName;
Query[I - 1].DatabaseName := DataBase[I - 1].DatabaseName;
end;
//其他操作
//.......
//释放对象
Session[I - 1].Destroy;
DataBase[I - 1].Destroy;
Query[I - 1].Destroy;
end;
//同样的代码如果单独运行则也正常,但如果放在大的程序中则出现如下问题
Var
Session:Array of TSession;
DataBase:Array of TDataBase;
Query:Array of TQuery;
begin
//如果只创建以下的任意两个对象,并进行相应处理,系统正常。
//如果三个对象都创建,则当退出主程序知,系统提示内存地址异常
SetLength(Session,TotalComNum);
SetLength(DataBase,TotalComNum);
SetLength(Query,TotalComNum);
//分别对Session,DataBase,Query进行初始化
for I := 1 to TotalComNum do
begin
//动态创建数据对象
Session[I - 1] := TSession.Create(Application);
Session[I - 1].Name := 'Session' + IntToStr(I);
Session[I - 1].SessionName := 'Ses1' + IntToStr(I);
Session[I - 1].Active := True;
DataBase[I - 1] := TDataBase.Create(Application);
DataBase[I - 1].Name := 'DataBase' + IntToStr(I);
DataBase[I - 1].AliasName := 'gsmphone';
DataBase[I - 1].DatabaseName := 'DB' + IntToStr(I);
DataBase[I - 1].LoginPrompt := False;
DataBase[I - 1].Params.Add('USER NAME=sa');
DataBase[I - 1].SessionName := Session[I - 1].SessionName;
DataBase[I - 1].Connected := True;
Query[I - 1] := TQuery.Create(Application);
Query[I - 1].Name := 'Query' + IntToStr(I);
Query[I - 1].SessionName := Session[I - 1].SessionName;
Query[I - 1].DatabaseName := DataBase[I - 1].DatabaseName;
end;
//其他操作
//.......
//释放对象
Session[I - 1].Destroy;
DataBase[I - 1].Destroy;
Query[I - 1].Destroy;
end;
...全文
相关推荐
美丽的景色
美丽的景色
基于Qt5的UDP局域网通信软件开发:从原理到实践
UDP作为无连接的传输层协议,在局域网高可靠环境下具有低延迟、实现简单、天然支持广播和组播等优势,常被用于轻量级通信工具开发。Qt5框架通过QUdpSocket类封装了底层套接字细节,利用信号槽机制简化异步数据接收,并具备良好的跨平台能力。本文从UDP数据报原理与QUdpSocket核心API入手,解析了发送、接收、广播、组播以及大数据分片实现,并结合实际项目分享了防火墙排查、缓冲区溢出、端口复用等常见问题的调试经验。系统阐述如何借助Qt5快速构建一个简单而实用的局域网通信工具,适用于文本消息、控制指令及小
小学作文—美丽的景色.pdf
小学作文—美丽的景色.pdf
无线风光-美丽景色-湖光山色
无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色无线风光-美丽景色-湖光山色
美丽景色作文300字8篇.doc
美丽景色作文300字8篇.doc


