Jump to content
Macro Express Forums

Why do I get this error?

Recommended Posts

I'm using MEP with Windows 7.
Lately MEP suddenly stops working, giving me an error (please see attached file.)
MEP is always active in my system tray, but when the error occurs no macro is running.
All this started about two weeks ago.
I've been using MEP for years and never had this problem.
Can someone help please?



Link to comment
Share on other sites

That's most likely a bug in MEP. Please report it to ISS. Then ask them for support. It could be related to the most recent version. If so, you might want to go back a version.

It could be triggered by your macro but it's in an exception in MEP. Ideally no exception should ever occur in a program and no matter what your macro does, MEP shouldn't have an exception and should be able to handle anything you throw at it. In my experience programming even with the best IDE tools, I still make this mistake sometimes.

I suggest you close your macro file and create  anew macro file containing no macros and see if it continues to happen. That will help ISS a lot. If it goes away, then do isolation troubleshooting to determine which is causing the problem. Even if you don't have any running MEP is constantly processing your macros activations. It might be in there. 

Technical side: There are two types of variables, values type and reference type. Value types hold the actual data and are specifically dimensioned. But most programming uses objects that can expand, contract and do all kinds of things in dimension. One can't move blocks of data around in memory so object variables are made of two parts. One is the data which is dynamic and in location and size around (address changes) and the other is a a value type variable which contains the current address of the object. It is called, intuitively enough, a pointer. When I 'reference' my object in the program, it gets the pointer and finds my object. Hence "reference" type. Sometimes one can do something in a program that makes the pointer invalid. It's like calling someone's phone only to find the number has been disconnected. So in ones' program when one references an object using a pointer and the system doesn't find the object there, it throws an exception. Usually one creates handlers for exceptions but we avoid handlers because they adversely affect performance and complicate the code. I frequently write code that seems like there is no way on earth I could ever invalidate a pointer, and yet somehow it still happens. Code can get very complex and objects (reference type) can contain numerous objects in a complex hierarchy. At times it can be practically impossible to mentally consider every possible exception. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...