Comments (7)
Don't re-use the v
already used as the first parameter. Use a second w
or v1
from xxm.
I've made corrections in 03 Data ADO\xxmData.pas:
var v,v1:OleVariant;
v1:=EmptyParam;
cmd.Execute(v,v1,0);
Error is still the same
xxm://demo/ EAccessViolation
Access violation at address 043D3E29 in module 'XXMLOC~2.DLL'. Read of address F28B562B
It happens in xxmLocalDev.dll
from xxm.
Have you tried with Null
?
from xxm.
Or perhaps try with this:
cmd.Execute(v,POleVariant(nil)^,0);
from xxm.
Both
v1:=Null;
cmd.Execute(v,v1,0);
and
cmd.Execute(v,POleVariant(nil)^,0);
produce the same error at the same addresses.
Btw, demo.ldb lock file is present and updated every time I call xxm:demo.
from xxm.
Demo.ldb is not really a alock file, it always exist when an Access mdb is currently accessed. I regret these don't work since they did with a test I did on Delphi XE7, could it be possible something else in the vicinity of that code?
from xxm.
Hey wait a minute, I just notice the exception is in module 'XXMLOC~2.DLL'
with a really high address that starts with F. I noticed typically this happens whit xxm projects compiled with a 'modern' Delphi version. The release xxm*.dll's are built with Delphi 7, and newer Delphi versions have changed something binary behind the scenes about how exceptions are thrown. You might be getting an exception (perhaps a SQL syntax error!), and this access violation is the xxm dll misunderstanding this exception.
I can advise you to do one of these things:
- Download/clone/checkout/fork the xxm source, and build xxmLocalDev.dll with your Delphi version. (This should work just fine, if you get errors or unexpectedly much of hints or warnings, let me know.) And run your project with this dll, it should be able to understand (and handle) the exception your xxm project throws.
- Use the IXxmProjectEvents1 interface on your project object (in your
xxmp.pas
unit). This passes all exception data in strings, specifically because I ran into this binary difference of the Exception object. - Do your own exception handling within the xxm project, to keep the exception within the xxm project and not let it cross over into the xxm handler process logic. If you want this to do on a large number of pages/scripts, you can use the proto folder and files to include it into the generated scripts (in the src folder).
Let me know if this puts you in a good direction to work to a solution.
from xxm.
Related Issues (5)
- "03 Data ADO" demo compile error HOT 4
- "03 Data ADO" demo error HOT 1
- For another ed
- Lazarus? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xxm.