Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 594
  • Last Modified:

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

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
W_Fox
Asked:
W_Fox
1 Solution
 
Ivanov_GCommented:

   Probably your ADOConnection, ADOQuery, ... or whatever you use is on the Form. You can put it in DataModule...
0
 
kretzschmarCommented:
>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
 
W_FoxAuthor Commented:
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!

 
Ferruccio AccalaiSenior developer, analyst and customer assistance Commented:
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
 
Ferruccio AccalaiSenior developer, analyst and customer assistance Commented:
@ 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
 
W_FoxAuthor Commented:
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

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now