oded Posted March 29, 2018 Report Share Posted March 29, 2018 I'm using MEP 4.8.1.1 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? Thanks, Oded. mep.pdf Quote Link to comment Share on other sites More sharing options...
Cory Posted March 29, 2018 Report Share Posted March 29, 2018 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. Quote Link to comment Share on other sites More sharing options...
oded Posted March 30, 2018 Author Report Share Posted March 30, 2018 Thank you Cory for your answer. Much appreciated I'll contact support. Oded. Quote Link to comment Share on other sites More sharing options...
Cory Posted March 31, 2018 Report Share Posted March 31, 2018 You're welcome. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.