Solved

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

Posted on 2004-04-28
6
583 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
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
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!

 
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

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!

Question has a verified solution.

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

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

756 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