Component wizard change?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Component wizard change?

Schwab,Wilhelm K
Blair,

Unless I'm missing something, D6 generates slightly different selectors
than D5, and I think it could cause problems when regenerating
interfaces in the new version.  Consider a method called Fetch() that
generated in D5 to #Fetch:Want:Got:; D6 appears to generate
#Fetch:want:got:.

I found this when I had to take some code from D6 back to D5 to use some
things that won't load yet.  I had a simple wrapper around the generated
code, and suspected (correctly) that I could load it into D5; the other
stuff, I simly regenerated in D5.  So far, I've hit only the one change.

FWIW, I might not have noticed it, except that I was trying to avoid
making copies of a safe array full of floats, so I called one of the
lower level COM interface methods.

Have a good one,

Bill


--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Component wizard change?

Blair McGlashan
"Bill Schwab" <[hidden email]> wrote in message
news:[hidden email]...
> Blair,
>
> Unless I'm missing something, D6 generates slightly different selectors
> than D5, and I think it could cause problems when regenerating interfaces
> in the new version.  ...

This is a deliberate breaking change, see #1615 in the release notes.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Component wizard change?

Schwab,Wilhelm K
Blair,

> This is a deliberate breaking change, see #1615 in the release notes.

In that case, you might end the generation with a scan for orphaned
selectors.  A workspace could list them, giving the user fair warning
that it happened.  You might also be able to detect that the old
selector exists (in the class, and maybe even in the COM method
category??), and stay with it.  I ended up doing the latter with one of
my code generation misadventures, though I don't recall the exact
motivation.  It was either that I was trying to not break things added
manually, or because case was unpredictable in the source for the
generated methods. I can dig around if it matters to you.

Have a good one,

Bill


--
Wilhelm K. Schwab, Ph.D.
[hidden email]