Solved

ADO: 'read of address 0xfeeefef6' on form.close

Posted on 2004-04-28
6
584 Views
Last Modified: 2007-12-19
Hello,
system setup is as follows:
Delphi5 Ent, Update pack1, ADO Update pack2 (as I understand, there's no need for ADO Update pack1 on Ent version).

MDAC 2.7, Oracle client 8.1.7, Win2000, SP4, all critical updates are installed.

Prior installing of ADO update, I had 2 problems w/ ADO: the first one "..either EOF or BOF.." on ADOQuery.Close, and the second: AV 'read of address 0xfeeefef6' on Form.close. After installing ADO Upd, the first problem is gone, but AV is still here :(.

Problem occurs only on closing of project/form and only when IDE is running. If standaone *.exe is launched on the same machine (or on any other machine) - no error occurs.

Should I ignore this error or is there still something to do to avoid it?

I searched the web, but didn't find a solution. Seems that several developers have the same problem, but solution is unknown :(.

50 points for now, and I think this is acceptable for answer "you should ignore it" :); if there's a solution, I will increase amount of points.

Thanks in advance,
  W_Fox

0
Comment
Question by:W_Fox
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 12

Expert Comment

by:Ivanov_G
ID: 10937610

   Probably your ADOConnection, ADOQuery, ... or whatever you use is on the Form. You can put it in DataModule...
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 10937613
>Should I ignore this error or is there still something to do to avoid it?

yes, don't know what causes this error, but guessing its caused somewhere where the ide deinitialize something. also this error must
not caused by the ado-components. it may also caused by any
other (thirdparty) component you use within your project.

meikl ;-)
0
 

Author Comment

by:W_Fox
ID: 10937838
meikl: there are no 3rdparty components used yet. I was planning to add some when I'd get everything working but currently there are only standard components used.

Error occurs only if DB connection is made, if I just launch the app and close it - there's no AV.

code sample:
...
ADOQ1.ConnectionString := 'Provider=MSDAORA.1; Data Source=...';
ADOQ1.SQL.Text := 'SELECT * FROM ...';
ADOQ1.Open;
while not ADOQ1.EOF do begin
  ...
  ADOQ1.Next;
end;
ADOQ1.Close;
...
Form1.Close;

Ivanov G: I tried to put both ADOQueries in data module - the same result :(

Regards,
  W_Fox
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 22

Accepted Solution

by:
Ferruccio Accalai earned 50 total points
ID: 10938363
That error occurs sometimes in Delphi 7 IDE during the TADOConnection destroying and Oracle Client....

There's something already unknowed that occurs in this case (note that TADOConnetion.destroy call TComponent.destroying that checks for subcomponents to be destroyed...) when IDE running....but it seems that it's all ok during a normal exe application execution-closing.....

So i think you could ignore it just until an official solution is found (maybe by Borland....)
Also you can try to close and free the Adoconnection just before the form.close....

F68 ;-)
0
 
LVL 22

Expert Comment

by:Ferruccio Accalai
ID: 10938495
@ ADOQ1.ConnectionString := 'Provider=MSDAORA.1; Data Source=...';
it seems that you don't use the TADOConnection...BTW it's the same as the client is Oracle...

so what about before Form closing....

ADOQ1.ConnectionSTring := '';
0
 

Author Comment

by:W_Fox
ID: 10938881
I tried both ways - no success, error is still there :(
Anyway, I accepted your comment as answed; also I did a little debugging and it seems that error occurs somewhere in MTxOCI (.ologof -?). Hopefully this error will not occur on client site :).

Regards,
  W_Fox.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question