Discussion:
Access Violation from msado15.dll
(too old to reply)
Brad Wood
2004-05-26 23:39:59 UTC
Permalink
Environment:
Delphi 7 with update 1, SqlServer 2K with service pack 3a, MDAC 2.7 and 2.8
(updating to 2.8 - no change).

When executing the ExecProc method of a TADOStoredProc I sometimes get
"access violation at address 1F33A7FF in module 'msado15.dll'". All the
data passed to the parameters of the TADOStoredProc look fine going in.
Subsequent calls to the stored proc give erroneous results (reports that
parameters of the stored proc don't exist when they do, actual code snippets
[C code from somewhere] get inserted into the database). After my
application finishes, I get an exception from oleaut32.dll.

The code used by the TADOStoredProc has not changed in a long time and is in
production here. I can run the exact same data (after cleaning out the
relevant tables in the database) several times and it doesn't always happen
(it usually only works when I step through code, but not always).

The only thing that has obviously changed since it worked was the update to
Delphi 7. The page where you can download the update contains this text:
PLEASE NOTE: This patch contains changes to the database runtime files that
may cause applications
using persistent TStringField objects to raise "Size mismatch" exceptions.
This exception is
generated when potential memory overwrite situations are detected. See
Resolving size mismatch
exceptions with the Delphi 7.1 update for more information on this fix.
Since this patch was
released, customers have been reporting issues with this additional data
integrity enforcement
generating exceptions in applications that may have previously been running
successfully.
Borland is currently making an additional source code change that will
enforce data integrity
without raising an exception, and we will make that updated version
available as soon as possible.

That doesn't seem to apply to me, but I don't really know what "data
integrity enforcement" is. The read me link for the update is broken, so I
don't know what it says.

I wonder if anyone has any ideas about what to look at to try to resolve the
problem...
George Christoforakis
2004-05-27 12:24:12 UTC
Permalink
I haven't installed the d7.1 upgrade because I read a few threads here
containing some problems after the installation.
The only thing I could tell you is that you should try and install again
your delphi from the beginning and get the upgrade once it is stable...

data integrity -> when for example you try to erase a master record and you
have detail records on this master rec, then if no integrity is applied,
then the detailed records will be orphaned. Thus you apply the integrity and
you skip this situation (this is a rough example)

gluck
George Christoforakis
Post by Brad Wood
Delphi 7 with update 1, SqlServer 2K with service pack 3a, MDAC 2.7 and 2.8
(updating to 2.8 - no change).
When executing the ExecProc method of a TADOStoredProc I sometimes get
Brad Wood
2004-05-28 22:19:42 UTC
Permalink
Confirmed unrelated to D7 update (rollback produced same results). The
error occurs when I attempt to violate a database constraint, close and
reopen the connection and try to violate another constraint. I could not
reproduce in isolation. The same code was handling constraint violations
just fine for months in a different database...
Post by Brad Wood
When executing the ExecProc method of a TADOStoredProc I sometimes get
"access violation at address 1F33A7FF in module 'msado15.dll'". All the
data passed to the parameters of the TADOStoredProc look fine going in.
Subsequent calls to the stored proc give erroneous results (reports that
parameters of the stored proc don't exist when they do, actual code snippets
[C code from somewhere] get inserted into the database). After my
application finishes, I get an exception from oleaut32.dll.
EditOR
2004-12-06 19:56:49 UTC
Permalink
One of my application started producing access violation error thro"
the very same DLL, and in the code, I was assigning two different
datasets (either ADOStoredProc / tADOQuery as per user selection thro"
radio-button) to one tdatasource component.

And when I put two different datasources for them, it started working
fine, I tested them with the same steps (which produced error).

So, if someone has this, can apply my method, and would get solved!
Post by Brad Wood
Confirmed unrelated to D7 update (rollback produced same results).
The
Post by Brad Wood
error occurs when I attempt to violate a database constraint, close and
reopen the connection and try to violate another constraint. I could not
reproduce in isolation. The same code was handling constraint
violations
Post by Brad Wood
just fine for months in a different database...
Post by Brad Wood
When executing the ExecProc method of a TADOStoredProc I sometimes get
"access violation at address 1F33A7FF in module 'msado15.dll'".
All the
Post by Brad Wood
Post by Brad Wood
data passed to the parameters of the TADOStoredProc look fine going in.
Subsequent calls to the stored proc give erroneous results (reports that
parameters of the stored proc don't exist when they do, actual code
snippets
Post by Brad Wood
[C code from somewhere] get inserted into the database). After my
application finishes, I get an exception from oleaut32.dll.
Loading...