An article (http://goo.gl/57XoE) by Serge Camiré, automatic translation from french.
Out of curiosity, is that not neccesary because of the ApplicationServices Class for each version (AcMgd), or does Core Console in 2013 present a Reference hurdle given the stated intent for plug-in ambiguity (where the same plug-in would work for R18* & R19*)?
I'm only now teaching myself to code in .NET, so forgive me if I am obvlivious to the fundamentals.
There is a thing I can’t close my eyes. I would like TheMaster that he kindly clarifies what he meant by saying "It would seem that the author has namespaces and classes confused." If I don’t react to that statement, this would suggests that anyone can write anything to discredit someone else's work without foundation.
The error is caused by a displacement of the function to another name space.
This was not in my article but yes indeed, there are some changes in the Namespaces. We can read an article by Kean Walmsley in this topic in "Migrating .NET applications to work with AutoCAD 2013": http://augifr.ning.com/profiles/blogs/migration-de-solution-dotnet-pour-autocad-2013?commentId=6456585%3AComment%3A10055&xg_source=msg_com_blogpost or you can read the C:\\ObjectARX 2013\docs\arxmgd.chm help file.
Along with API implementations moving from acad.exe to AcCore.dll (and their public declarations moving from AcMgd.dll to AcCoreMgd.dll), we’ve also added some namespaces to house extension methods for API capabilities that need to be used in full (rather than core) applications: DocumentExtension, DocumentCollectionExtension, EditorExtension, WindowExtension. You will find that certain methods can’t be found when you reference the AutoCAD 2013 DLLs – in most cases it’s a simple matter of adding the right namespace to your project, but in a few cases you’ll find properties/methods have been renamed – mostly to make them more descriptive.
For instance, the existing property to get AutoCAD’s status bar is:
Autodesk.AutoCAD.ApplicationServices.Document.StatusBar
In AutoCAD 2013, this has been changed to:
Autodesk.AutoCAD.ApplicationServices.DocumentExtension.GetStatusBar()
So a little different, but hopefully not to find to track down and manage. The ObjectARX SDK contains migration information that will help identify and make these changes.
we’ve also added some namespaces to house extension methods for API capabilities that need to be used in full (rather than core) applications: DocumentExtension, DocumentCollectionExtension, EditorExtension, WindowExtension.
No one has answered RenderMan yet ....
I hope you are not blaming me because I gave information to RenderMan.
I think we should not confuse courage and humility.
Rather than admit yourself that your opinions were exaggerated...
< ... > or maybe diffrent dll's are being built.
< ....>
This was not in my article but yes indeed, there are some changes in the Namespaces. We can read an article by Kean Walmsley in this topic in "Migrating .NET applications to work with AutoCAD 2013": http://augifr.ning.com/profiles/blogs/migration-de-solution-dotnet-pour-autocad-2013?commentId=6456585%3AComment%3A10055&xg_source=msg_com_blogpost or you can read the C:\\ObjectARX 2013\docs\arxmgd.chm help file.
Kerry,So in article about using a library for 2007 to 2013 do you have an example of how that works?
The article is still available. I just tried the link. Usually, you needed 2 mandatory dlls: acdbmgd.dll and acmgd.dll. With 2013, you need a third mandatory dll: accoremgd.dll. You may need other dlls upon what you are doing. Don't forget that all these dll have to be declared "Local Copy" to False. To know which one does what is not that important but you can read the documentation in the ObjectArx files.
TheMaster,
I guess this discussion could last forever. Let's the other people make their own opinion.
Humility implies that I never gave myself any conceited attributes or nicknames. I believe that the other ones should decide if I am good or not.
I am a novice .NET programmer, and I was hoping to see you and TheMaster debate the questions and points that were raised. Instead, I am disappointed to see that both of you are unwilling to debate. Indeed, Serge, it seems like you are more worried about your pride and hurt feelings than the furtherance of knowledge through critical peer review.
I would like to know whether TheMaster is correct in his claims that conditional compilation is not necessary to share source code that calls new extension methods. Can someone answer that definitively?
Tony,
Thanks for the insight.
How do you handle p/Invoke with translations to 2013
... where we have to deal with the new Core dll references as well as different mangled names ?
Regards
kdub.
JeffI was wrong and was joking around because Owen asked about the debate,and pointing back out the simple mistake.
You are right, it's a mistranslation.
The example that is taken ad nauseum was not focused on the fact that a function is a member of a namespace, a class or whatever.So if you are not focused on a particular subject the correctness does not matter.
in general you can see in the help files from ObjectArx directory that functions, properties and classes have indeed been moved from one namespace to another (as Kean also mentioned in its blog) and some have been made as extension as TheMaster and Stephen mentioned.Just one many replies that does not change the fact it was not moved.
Third, even if the word namespace as the very same meaning in different languages, it's more frequent to make "abuse of language" in VB because VB is more permissive. As I mentioned TheMaster, I can now understand that if we are accustomed with a language, the differences become more obvious.I have to disagree with you completely, and why would you want to make things more confusing and not make your intent clear, especially posting a article online wouldn't you want it to be correct?
edit: corrected erroneous search/replace 'Document' with 'Application'
<..>
Kerry,
The article treated also P/Invoke and mangled names so do not hesitate if you have any questions.
Kerry,
The article treated also P/Invoke and mangled names so do not hesitate if you have any questions.
Second, if this particular example is a very special case, in general you can see in the help files from ObjectArx directory that functions, properties and classes have indeed been moved from one namespace to another (as Kean also mentioned in its blog) and some have been made as extension as TheMaster and Stephen mentioned.
“If you are not familiar with extension methods (as your article clearly suggests), then visit MSDN and read more about them, and how they are used.”. As I mentioned, the article never talked about the extension methods. It is the fruit of your imagination. Instead, I talked about MEF which is completely something different.
....The subject was left open on purpose since it is a way to make people ask and participate. And the solution I would have suggested is exactly the same one as TheMaster gave and it is indeed the very same one I'm using at work.
TheMaster
Alas, alas, alas. I left the door wide open for reconciliation but now that I know your real name, I know it is impossible.
Monkeys, typically open bananas from the opposite end as Humans, but the end result is the same, a tasty treat for the opener. However, the monkey way is significantly more efficient as it only requires a slight pinch whereas humans insist on breaking the stock end which usually ends up mashing the fruit.
Monkeys, typically open bananas from the opposite end as Humans, but the end result is the same, a tasty treat for the opener. However, the monkey way is significantly more efficient as it only requires a slight pinch whereas humans insist on breaking the stock end which usually ends up mashing the fruit.
Really? I learn something here everyday. Now people are going to think I'm weird because I have to try opening bananas backwards. Thanks a lot Daniel you've made me weird. :pissed:
I learned about this a year, or so, ago from the most unlikely of places (almost as unlikely a place as a .NET forum! ;-) ). My wife was watching Wheel of Fortune whilst I was doing some coding research, at the end of the show Vanna White was telling Pat Sajak how to 'properly' peel a banana. I had to try it the next day and have been peeling 'correctly' ever since.Monkeys, typically open bananas from the opposite end as Humans, but the end result is the same, a tasty treat for the opener. However, the monkey way is significantly more efficient as it only requires a slight pinch whereas humans insist on breaking the stock end which usually ends up mashing the fruit.
Really? I learn something here everyday. Now people are going to think I'm weird because I have to try opening bananas backwards. Thanks a lot Daniel you've made me weird. :pissed:
After lunch time trial I can confirm it works!
Out of curiosity, is that not necessary because of the ApplicationServices Class for each version (AcMgd), or does Core Console in 2013 present a Reference hurdle given the stated intent for plug-in ambiguity (where the same plug-in would work for R18* & R19*)?
I'm only now teaching myself to code in .NET, so forgive me if I am oblivious to the fundamentals.
** Edit - iPhone typos fixed. Also, I really like the Rice, Wine, Sake analogy.