nlanum Posted July 1, 2010 Posted July 1, 2010 (edited) Post deleted by me. Edited September 27, 2010 by nlanum added codetags Quote
gile Posted July 1, 2010 Posted July 1, 2010 Hi, I can't certify anything because I don't have A2011 to try, but according to the error message you get, it seems it's due to the expression : (strcat "AutoCAD.AcCmColor." (itoa (ATOI (GETVAR "ACADVER"))) ) This expression returns "AutoCAD.AcCmColor.18" for 2010/2011, "AutoCAD.AcCmColor.17" for 2007/2008/2009 and so on and it worked on previous versions. May be 2011 require the AutoCAD version number (18.0 for 2010 18.1 for 2011) rather than the dwg version one. So you can try to replace this expression by this one: (strcat "AutoCAD.AcCmColor." (rtos (atof (getvar "ACADVER")) 2 1) ) Quote
JohnM Posted July 1, 2010 Posted July 1, 2010 Look through your other files and see what is calling (defun ZF_GET-ACADCOLOR () from what you have posted it is the only thing referencing the (GETVAR "ACADVER"))) I didn’t see any issues with the code below the first defun, but I could have missed something. Quote
nlanum Posted July 1, 2010 Author Posted July 1, 2010 I added the code change: (strcat "AutoCAD.AcCmColor." (rtos (atof (getvar "ACADVER")) 2 1) ) Nothing seemed to change. I still get the error: "incompatible version" Quote
JohnM Posted July 1, 2010 Posted July 1, 2010 Is AutoCAD giving the error or is the error being given from the program. Looks like a error string created by the codes creator Search your files for the text string of the error and see where it is coming form. Do you know how to debug a lisp file in the lisp editor? Quote
JohnM Posted July 1, 2010 Posted July 1, 2010 This looks like a message that the creator of the code wrote. The message is part of the codes error trap not AutoCAD itself. You need look through the code until you find the code that generates this message then back track to find the line of code that is calling this message. When writing code a good writer puts in error traps so the code dose not crash AutoCAD and also the writer will notify the user of a issue by using the alert function. If you type the cade below you will see it’s like the message you got. (alert “There Is A Problem”) Quote
nlanum Posted July 1, 2010 Author Posted July 1, 2010 I ran a search for any alerts but didn't find any in the code. Quote
ILoveMadoka Posted July 2, 2010 Posted July 2, 2010 There is more code somewhere.... I have seen this used as a "copy protection" method too.... It forces users to buy the upgrade for new versions of autocad. Please post all the CODE!! Quote
alanjt Posted July 2, 2010 Posted July 2, 2010 You're not going to get much help by only posting a limited amount of information. It sounds like the 'issue' is coming from an incompatible version from the .VLX file. I suggest you go to the source of the VLX. Quote
ILoveMadoka Posted July 2, 2010 Posted July 2, 2010 I paid a company to make it work for ACAD 2010 Job Security... Quote
alanjt Posted July 2, 2010 Posted July 2, 2010 I paid a company to make it work for ACAD 2010 Job Security... That's some sad job security. Quote
ILoveMadoka Posted July 2, 2010 Posted July 2, 2010 If he is forced to pay "them" to recode for another version of Autocad it was effective.. I think it sucks myself.. If you have to pay them, pay them to remove the restriction! When it stops working for some other reason besides a version upgrade, THEN pay them to modify the code!! At least they can make a variable that can be set by the end user WHEN the next version rolls out.. I think it was coded that way to force you to have to go back to them myself... Quote
Nardino Posted July 2, 2010 Posted July 2, 2010 It seems it a simple fix, but you have to find in all the code where there is a reference to "18.0s (LMS Tech)" which is version 2010 and replace it "18.1s (LMS Tech)" which is version 2011 Quote
JohnM Posted July 2, 2010 Posted July 2, 2010 If you open the EDI.fas_.ls file in notepad or the vlide editor you will fin this code about 3 / 4 down the page. (VL-LOAD-COM ) (cond (= (ATOI (GETVAR "ACADVER")) 16) ( (cond (= (ATOI (GETVAR "ACADVER")) 17) ( (cond T ( normal cond nil (setq *ZF_LASTERROR "Incompatible AutoCAD Version") normal cond (EXIT ) The problem is that the fas file is corrupt so it cannot be recompiled There are a lot of missing parenthesis You might be able to piece it back together but it will take some time Quote
alanjt Posted July 2, 2010 Posted July 2, 2010 Did you use the FAS/VLX decompiler that's floating around the internet? Someone asked about one in a thread once, I searched and tested to see and the results looked quite similar to what you've posted. We will NOT edit decompiled purchased software. Quote
nlanum Posted July 2, 2010 Author Posted July 2, 2010 I did use the decompiler. But vlx file in question does in fact belong to me. I can't find the original source code. Quote
JohnM Posted July 3, 2010 Posted July 3, 2010 With out the original source code you are out of luck. The files included in the vlx file hold the answer. As I posted above the fas that you got from the decompiler also queries for the acadver and that is what needs to be changed. Unless you can contact the original writer the chances are slim and none to solve your issue. I could be wrong but good luck. Quote
nlanum Posted July 3, 2010 Author Posted July 3, 2010 Thank you all for the time and efforts. I will have to come up with some other solution. The company that originally did the update for me quoted me $1750 just to evaluate the code to give an estimate to repair it. They can kiss my a**. Quote
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.
Note: Your post will require moderator approval before it will be visible.