Giter VIP home page Giter VIP logo

Comments (7)

stijnsanders avatar stijnsanders commented on September 25, 2024

Don't re-use the v already used as the first parameter. Use a second wor v1

from xxm.

IL2 avatar IL2 commented on September 25, 2024

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.

stijnsanders avatar stijnsanders commented on September 25, 2024

Have you tried with Null?

from xxm.

stijnsanders avatar stijnsanders commented on September 25, 2024

Or perhaps try with this:

cmd.Execute(v,POleVariant(nil)^,0);

from xxm.

IL2 avatar IL2 commented on September 25, 2024

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.

stijnsanders avatar stijnsanders commented on September 25, 2024

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.

stijnsanders avatar stijnsanders commented on September 25, 2024

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:

  1. 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.
  2. 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.
  3. 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.