How to avoid AV error when developing Delphi …

2008-04-09 04:29:45来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

How to avoid AV error when developing database Application
--Bear

When developing delphi database application, sometimes you will meet AV error, for example:

1. Access Violation at address XXXXX in module *.exe, read of address XXXXX etc
2. Access violation at address XXXXX in Ole32.dll
3. Runtime error 216

And you are sure this AV error is not caused by your own code because there is no debug breakpoint.

OK, you can do as follows to avod the AV error,

1. Open the project source code : YourProject.dpr
2. Find the problem data module by comment. The problom datamodule is that data module when you comment it there will be no AV error
3. Check the datasets on the data module, do you change the database field define after you create the datamodule? For example, in the data module , there is a field : StudentCode:TStringField, but in your database, you change it as Integer, or changed its name.

Make sure all of the database can be set as Active at design time. Sometimes you need recreate the dataset on the client side and server side at the same time.

4. If you are sure there is no problem with the datasets, please change the position of the problem data module, for example change

Application.CreateForm(TSys_DM, Sys_DM);
Application.CreateForm(TCodeTable_DM, CodeTable_DM);
Application.CreateForm(TMain_Frm, Main_Frm);

to

Application.CreateForm(TMain_Frm, Main_Frm);
Application.CreateForm(TSys_DM, Sys_DM);
Application.CreateForm(TCodeTable_DM, CodeTable_DM);

or only create datamodule at runtime and free it manually.


5. You can change the data module create style as follows :
Main_DM := TMain_DM.Create(Main_Frm); // to avoid AV error

6. Make sure you have disconnected all of the ConnectionBocker, DCOMConnection,SocketConnection,WebConnection,SoapConnection at design time!

Nomally you will avoid the AV error by above steps.

You can also find code line by the address of the AV by enabling the debug DCU.

Good Luck !

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi真的不行了?

下一篇:DELPHI中的静态虚拟及动态方法函数的区别。