Solved

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

Posted on 2004-04-28
6
578 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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

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…
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…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

747 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now