Special Characters (Umlauts) In Messagebox


Recommended Posts

I am right now testing DF in a virtual WinXP machine and can't get MessageBox dialogs to display non-english letters such as ä and ö. On other screen components, it's no problem, just the MessageBox won't display them, it simply leaves them away. I have found older posts that DF should be unicode in v6, but that has been some time ago, and my fresh install is still v5.x.

Any way to get MessageBox display other than english characters?

Link to comment
Share on other sites

Nope.  Its a windows thing.  However, you can always just make your own message box by popping up a page you design.  Use a variable value component and a global string variable.  Change the variable to the message, then popup the page.  Don't forget an OK button to close the popup.

Link to comment
Share on other sites

I am afraid that this does not solve the problem. It turns out that it is not only my MessageBox which refuses to show umlauts, but even any variables. I have created a Global string popupMsg, but if I assign a string including an umlaut, the umlaut gets stripped, which is confirmed e.g. in the Command or Watch panels. Also, getlength(popupMsg) shows that the umlaut actually is stripped off. This happens both when I assign the value in a sequence and in the Command panel.

However, the Caption property of the Variable value component is not affected, so here umlauts show up as they should. The same is valid for the Text component.

Any further ideas are appreciated!

In case this helps, my DF version is 5.87a, build 1972.

Link to comment
Share on other sites

OK, found the problem.  Because it was a really simply little bug, I'm not going to make you upgrade to 5.90 (though releases after 5.90.6 will have the fix).   I've put an updated DAQFactory executable at:

 

www.azeotech.com/greg/DAQFactory587a2041.exe

 

Note that this is just the DAQFactory executable, so you'll want to download it, rename it to DAQFactory.exe and overwrite the existing one in your DAQFactory folder.  It won't run on it's own, though you can simply copy it to your DAQFactory folder and run it under this name.

 

Just to explain, 5.90 is built under a different compiler and is a new branch of DAQFactory.  There will be no future merge of changes to 5.87 except what we manual do, so we are limited changes to the 5.87 branch to very simple ones that we can manually apply to both branches.

 

Anyhow, please tell me how it works for you.  Please note that DAQFactory is (unfortunately) still not unicode and therefore only supports single byte character sets.  In order to display many characters you will have to set the code page properly, and even then you'll be limited to about 128 special characters (i.e. not standard ASCII characters) and those supported by your font selection as well.

Link to comment
Share on other sites

This is great, a short test (running DF in Wine) shows that I now can assign variables strings with non-english letters. Now, at least the DF pages display correctly, so I can try to build my custom dialogs!

The reason for testing in Wine is that I actually have switched to the 5.90 branch on the computer which is going to run the data aquisition. There, I am now running 5.90 build 2127. I don't know if this is before or past version 5.90.6 you are talking about, but probably it is an earlier version since it still rejects all non-english letters. If you could post a copy of the 5.90.6 (or later) executable too, this would be really appreciated!

Concerning the code page settings, I assume that you are talking about the settings in Windows' advanced Regional and Language Options, as I did not find such settings within DF.

Link to comment
Share on other sites

The currently available is 5.90.6 so won't have it, but 5.90.7 will be released soon.  Note that you can, technically install 5.90 alongside 5.87.  You'll just want to put them in separate directories.

 

As for code pages, you can force DAQFactory to use a certain code page by creating a registry entry at:

 

HKLM/Software/DAQFactory/Control/CodePage

 

and setting the appropriate value.  For x64 based systems, the entry is at:

 

HKLM/Software/Wow6432Node/DAQFactory/Control/CodePage

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.