richedit: Store richedit version rather than boolean bEmulateVersion10 value.
Chris Ahrendt
celticht32 at aol.com
Fri Jun 27 18:05:32 CDT 2008
Dylan Smith wrote:
> Currently msftedit.dll is implemented by loading riched20.dll and then
> riched20.dll registers the classes that msftedit.dll normally register.
> Native msftedit.dll appears to be a full implementation of the richedit
> controls, rather than a wrapper.
>
> Here are the options that I can think of:
> 1. We could continue to implement msftedit.dll as a wrapper around
> riched20.dll. This patch would be a step in that direction.
> 2. We could have two separate implementations, despite the fact that the
> two dlls are very similar.
> 3. We could have one implementation, and hope that it doesn't matter to
> programs using them, but this seem too inflexible to me.
> 4. We could also have a single implementation with preprocessor
> conditions, and then compile the code twice with different defines.
>
> On Fri, Jun 27, 2008 at 3:30 PM, Phil Krylov <phil.krylov at gmail.com
> <mailto:phil.krylov at gmail.com>> wrote:
>
> Hi,
>
> 2008/6/27 Dylan Smith <dylan.ah.smith at gmail.com
> <mailto:dylan.ah.smith at gmail.com>>:
> > riched20.dll is implementing all the versions of richedit
> controls (1.0, 2.0,
> > 3.0, and 4.1), so it is better to store the version that is being
> emulated.
> > The bEmulateVersion10 value is replaced with dwEmulatedVersion.
>
> I thought it implements 1.0 emulation for riched32.dll usage and
> latest possible version for other usages - just like native. Or are
> you planning to add some functionality depending on the actual
> emulated version, not on (dwEmulatedVersion < 0x200) boolean flag?
>
> -- Ph.
>
>
>
> ------------------------------------------------------------------------
>
>
The new guy votes for option one as it gives you the most flexibility
going forward. 2 -4 have various issues:
Code maintainability. Of course you could extract the common stuff out
and link it all together but in that case your kind of implementing
solution one.
Never say never =) and I would bet that it would in the end matter.. and
your right.. it is very inflexible.
Four kinda sounds kludgy.. While it solves problem 2 and 3 it seems a
little inflexible. In this case either one or four are I think the best
bets with number 1 being the most flexible.
More information about the wine-devel
mailing list