Author Topic: Rice, wine and sake, or how to migrate your DotNet AutoCAD applications for 2013  (Read 21255 times)

0 Members and 1 Guest are viewing this topic.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>

Sorry Serge, you may need to do some more research.

The acedGetSym is defined in acCore.dll not in acad.exe for AutoCAD 2013.

Regards
kdub
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

--> Donate to theSwamp<--

owenwengerd

  • Bull Frog
  • Posts: 441
Serge, we probably met in Stuttgart at the very last ADGE conference a very long time ago. As you note, my expertise is primarily with C++ and assembly language. I am very much a novice with .NET, but I do use it occasionally. When I eventually am forced to write managed code for targeting multiple AutoCAD versions, I want to be able to do it the most efficient way without reinventing the wheel and without duplicating source code.

Thank you for taking the time to respond here. I hope you do correct the article and incorporate everything discussed here so that future readers of this thread will be less confused than I was.

TheMaster

  • Guest

Kerry,
The article treated also P/Invoke and mangled names so do not hesitate if you have any questions.

Kerry was referring to dealing with P/Invoke in the context of migration to AutoCAD 2013 and the library whose filename is passed as the first argument to DllImport, which is different in AutoCAD 2013 for many imported APIs ("acad.exe in 2012, and "accore.dll" in 2013). I see nothing in your article that talks about that.

Quote
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.

This discussion was never about other unidentified functions, properties, and classes being moved to another namespace, but everyone here can easily read this thread and see that you have desperately tried to change the subject from what it was from the start (the mistake in your article).  And, I find it disingenuous of you to try to make the topic of this discussion about something else.

This discussion is very specifically about the Open() method featured in the article (as per the screenshot in my first post), and the erroneous statements made therein (the reason why the compiler error occurs, and the code that works around it, highlighted in yellow in the screenshot). 

Most of your relevant comments in this thread are obviously intended to change the subject, and to make this discussion about anything and everything other than that.

« Last Edit: June 05, 2012, 01:44:42 PM by TheMaster »

Serge

  • Guest
Owen
Leider habe ich nicht die Ehre hatte, Sie in Stuttgart zu treffen. Ich betrachte Sie ja wie einen Fachmann des ObjectARX Software und die Idee eines möglichen Treffens begrüßte mich. Wer weiß? Ich werde sicherlich schreiben, eine Zusammenfassung meiner Notizen, aber erst dem Monat August. Trotz der Diskussionen, die folgten, hoffe ich, dass der Artikel an sich verwirrt nicht Ihnen.
Unfortunately I have not had the honor to meet you in Stuttgart. I consider you as an expert in the ObjectARX software and the idea of a possible reunion enjoys me. Who knows? I will certainly write a summary of my notes, but not before August. Despite the regrettable discussions that followed, I hope that the article in itself did not confuse you.


Kerry
I’m the one who is sorry. By doing a cut and paste from Word when I answered you, I forgot a paragraph (I use Word because English is not my primary langage and it helps me a little bit with my typos). In the article, I was precisely telling people to be aware of the problem. 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. You are really a master of your own, although we surely do not agree the reasons one more time.

Einstein himself felt uncomfortable with the attention people paid to him, but not you. A journalist once asked him “what is the difference between genius and madness”. After few seconds, he answered “genius has its limits”. You obviously have no limits and this trivial discussion could continue forever.

I do have some questions that were left unanswered. I know that this fuel for fire and it is lowering to your level but I promise this the very last time I have any form of exchange with you, unless you appear stealthily under a new conceited nickname like GOD-zilla, or in your case, should we be said GOD-zillo. I do that for the respect I have for my peers, for this forum, for myself. This does not mean that if other people have questions about this article or any other that might come or any other subject, I will be glad to answer them.

April 30: you declared
Quote
“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.
  • Since this day, have you learn about MEF?
  • Are you still confused?
  • Why you never admitted your ignorance on that subject? That is the kind of insinuation you’re serving me from day 1. Now, don’t miss that second chance to let other people drink your answer on that question.

I already know your answer since you became predictable. You will try to divert the attention to something that should have been considered as a misprint or something unnecessary for the understanding of what was debated: the use of conditional declarations. I bet you will still advocate a thousand and one reasons not to answer the questions above. Prove me I’m wrong.

Hare hare, Shri Shri Mahatma TheMaster Chalisa , Hare hare, Shri Gurda Chalisa (in Hindi, it means forty verse Hindu prayers for the great Lord TheMaster and one of his avatar). Let’s meditate on your righteous and noble qualities.

It's Alive!

  • BricsCAD
  • Needs a day job
  • Posts: 7033
  • AKA Daniel
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.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>

Serge, while I appreciate your efforts with the article and wour willingness to share ;
I think you are getting a bit carrried away with the comments that have nothing positive to add to the real issue.

Personally I'd appreciate your co-operation in this regard.

Thanks
kdub.

Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

--> Donate to theSwamp<--

TheMaster

  • Guest
....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.

Yes, of course.   :roll:

Quote
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.


The only thing here that is "impossible" is your ability to concede to having made a mistake that went into a printed AUGI publication.  That is the one and only impossibility, and is a prerequisite to reconciliation.


MexicanCustard

  • Swamp Rat
  • Posts: 705
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:
Revit 2019, AMEP 2019 64bit Win 10

Delegate

  • Guest
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!

Jeff_M

  • King Gator
  • Posts: 3977
  • C3D user & customizer
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!
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.

bchapman

  • Guest
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.

^ sounds like me right now lol