Discussion:
Rich Text Control bug ...
(too old to reply)
Mike
2003-07-22 15:32:28 UTC
Permalink
Apparently, in the new, improved riched20.dll (Rich Edit v. 3.0) support for the \emdash and \endash tags is gone. These characters now display as hyphens.

Unfortunately, we have hundreds of these characters in our dB as they are routinely used in our shop.

Substituting \'97 for \emdash does properly display the emdash character in a richtext control. However, the \'97 is immediately converted to \emdash upon loading the control. Consequently it displays properly but if the .TextRTF property of the control is saved, it will overwrite the \'97 tag with the \emdash tag and not display properly if loaded again.

It been tough to find more info about this problem. MSKB 308310 mentions under the heading - Compatibility Problems on Systems Running Windows 2000 and Later, that "Riched20.dll emulates the Rich Edit version 1.0 through Rich Edit version 3.0. This emulation may cause the compatibility problems."

While the use of these character may not be widespread, I don't think \emdash and \endash are trivial issues. They are part of the RTF specification and were supported in earlier rich edit versions.

It is extremely frustrating to have to convert data both prior to and after displaying as a workaround. One of the reasons we used the RichText control rather than a third-party control was the inherent stability we assumed with a MS-supported control. The fact that MS has apparently remained silent about this, is even more frustrating.

Mike
silk
2003-07-22 18:29:05 UTC
Permalink
Hi Mike,

I am having problems with the richtextbox control on windows xp - it works fine on 98 and 2k but does not display any text in XP
I generated the text using rtf code.

have you had any problems like this or can shed light on it

TIA

Silk
"Mike" <***@lsac.org> wrote in message news:#***@tk2msftngp13.phx.gbl...
Apparently, in the new, improved riched20.dll (Rich Edit v. 3.0) support for the \emdash and \endash tags is gone. These characters now display as hyphens.

Unfortunately, we have hundreds of these characters in our dB as they are routinely used in our shop.

Substituting \'97 for \emdash does properly display the emdash character in a richtext control. However, the \'97 is immediately converted to \emdash upon loading the control. Consequently it displays properly but if the .TextRTF property of the control is saved, it will overwrite the \'97 tag with the \emdash tag and not display properly if loaded again.

It been tough to find more info about this problem. MSKB 308310 mentions under the heading - Compatibility Problems on Systems Running Windows 2000 and Later, that "Riched20.dll emulates the Rich Edit version 1.0 through Rich Edit version 3.0. This emulation may cause the compatibility problems."

While the use of these character may not be widespread, I don't think \emdash and \endash are trivial issues. They are part of the RTF specification and were supported in earlier rich edit versions.

It is extremely frustrating to have to convert data both prior to and after displaying as a workaround. One of the reasons we used the RichText control rather than a third-party control was the inherent stability we assumed with a MS-supported control. The fact that MS has apparently remained silent about this, is even more frustrating.

Mike
Mike
2003-07-25 21:03:54 UTC
Permalink
We've come up with a solution to this problem ...

We've copied riched20.dll and riched32.dll from WinNT4 (our previous OS on which the app ran correctly) to the same directory as our executable on Win2000. (Version 3 of RichEdit definitely breaks compatibility with Version 1 as far as properly handling the emdash and endash special characters).

Because of the search order used to load dll's, the NT-version dlls are used and the app runs correctly.

A final note: Windows 2003 Server and WinXP SP1 change the default search order for dll loading. You can edit the SafeDllSearchMode registry entry to restore the search order to the current NT, 2000, XP order. Search MSDN on LoadLibraryEx for more details.

Good luck,
Mike
"silk" <***@yahoo.co.uk> wrote in message news:%***@TK2MSFTNGP12.phx.gbl...
Hi Mike,

I am having problems with the richtextbox control on windows xp - it works fine on 98 and 2k but does not display any text in XP
I generated the text using rtf code.

have you had any problems like this or can shed light on it

TIA

Silk
"Mike" <***@lsac.org> wrote in message news:#***@tk2msftngp13.phx.gbl...
Apparently, in the new, improved riched20.dll (Rich Edit v. 3.0) support for the \emdash and \endash tags is gone. These characters now display as hyphens.

Unfortunately, we have hundreds of these characters in our dB as they are routinely used in our shop.

Substituting \'97 for \emdash does properly display the emdash character in a richtext control. However, the \'97 is immediately converted to \emdash upon loading the control. Consequently it displays properly but if the .TextRTF property of the control is saved, it will overwrite the \'97 tag with the \emdash tag and not display properly if loaded again.

It been tough to find more info about this problem. MSKB 308310 mentions under the heading - Compatibility Problems on Systems Running Windows 2000 and Later, that "Riched20.dll emulates the Rich Edit version 1.0 through Rich Edit version 3.0. This emulation may cause the compatibility problems."

While the use of these character may not be widespread, I don't think \emdash and \endash are trivial issues. They are part of the RTF specification and were supported in earlier rich edit versions.

It is extremely frustrating to have to convert data both prior to and after displaying as a workaround. One of the reasons we used the RichText control rather than a third-party control was the inherent stability we assumed with a MS-supported control. The fact that MS has apparently remained silent about this, is even more frustrating.

Mike

Loading...