This is a theme running in about three current threads. I thought I'd just start a thread devoted to it.
My goal is to develop a list of all of the places that VB6 doesn't like Unicode. It certainly seems a discussion worth having. This list is intended to outline where Unicode get clobbered unless special treatment is given.
Here's what I know to put into the list off the top of my head:
- API Calls
- Clipboard
- Strings written to files
- Assigning control properties that are displayed (.text, .caption, etc)
- The "IDE Properties Window" (pure ANSI, if I'm not mistaken, and not to be confused with PropertyBag)
- Using StrConv badly
- Functions and statements dealing with file names.
Others that come to mind, but I'm not sure (but may test):
SaveSetting/GetSetting (actually not sure, never tried it)
And another that's worth mentioning: The actual IDE code-editor windows. These are also pure ANSI as far as I know, the actual files are also ANSI (.FRM, .BAS, .CLS, .VBP, .CTL)
I know of work-arounds for most of these. The IDE Properties Window is a bit tricky. The only thing I've figured out is to make custom property sheets. Also, it's sad that we can't put unicode literals in our source code files.
I wonder what areas I've missed.
EDIT: Okay, scratch SaveSetting/GetSetting. They seem to work absolutely fine with unicode.
EDIT2: I thought of another place. As far as I know, none of the file name handling functions and statements correctly handle unicode. Specifically Dir$ and Name, and possibly others. I've added it to the bullet-list.