Details, details, details. Very much appreciated.
The 11.1 settings are âStoredâ in the Configuration directory. Thatâs normally C:\Users\YourUserName\AppData\Roaming\SoftVelocity\Clarion\11.1
but that folder can be set by a command line parameter. I do that so 11.1 is separate from 11.0.
What Bruce suggests is to open on 11 and 12 the Tools menu âOptionsâŚâ and âApplication OptionsâŚâ windows, then to visually compare the settings and edit. That is what I did.
Doing a comparison of ClarionProperties.XML and other XML files between the 11 and 12 Configuration folders will likely highlight some differences missed, so a good idea ⌠to compare.
They donât all line up well. Maybe there is an XML compare tool that would sort them for a perfect compare. I would never simply copy the XML files over from 11 to 12. I might edit or move single parameters in the XML. If you do edit the XML make sure the IDE is closed and have a backup copy.
I bought Clarion 12 Anyscreen and many templates. As promised, I did not receive any updates. C12 has been a complete disappointment for me. If Unicode support is not enabled for font and charset: Cyrillic, Charset: Turkish, it does not work correctly. In other words, within the same table, while one record in a column can be written in Russian, I cannot write another record in Turkish. Therefore, instead of Unicode, Monocode support has been added. I purchased Anyscreen twice, hoping there would be an update. I paid 800$ for the first purchase and 1,000$ for the update. However, for the past year, I have not received a single update. I wrote an email to Softvelocity saying, âHow will you remedy our grievance? You have unjustly charged for updates but did not deliver what was promised.â But they didnât even bother to respond to that. The most important problem with Anyscreen is that I cannot run my applications independently nor can I integrate them into my website. There is a taskbar and a settings button at the top that I just cannot remove. There is also the âstart appâ screen that opens up if the application is accidentally closed instead of pressing the exit button, which I have to use to log back in. Why am I not allowed to use Anyscreen freely when I bought it twice? Why canât I choose what should be visible and what shouldnât? Why canât thousands of people access and use my applications at the same time, just like on normal websites? On a server with 16GB of RAM, a maximum of only 300 users can log in.
Hi Akin,
At the moment itâs not clear what is required to enable Unicode in Clarion 12. We are awaiting more information on that. I presume there is a way, Iâm just not clear on what it is yet.
For most of your AnyScreen questions I recommend contacting Marco directly, or using the AnyScreen forum on the News groups. There donât seem to be too many Anyscreen users here. I suspect most of your questions can be answered there though.
This is fundamental to the way Anyscreen works. Broadly speaking, you can have â1 click desktop to web appâ or you can have scalability, but not both. To get the âone click desktop to webâ solution, the application server has to fire up an instance of the desktop application for each user. This consumes some number of resources, which remain in use as long as the user is connected. This approach gives you massive convenience (desktop app to web app) but since each user is âhardware heavyâ thereâs always a finite limit on how many users any single server can tolerate.
You can of course roll it out o multiple servers.
The second approach to web apps is more scalable, but requires a lot more work to convert your app to the web. This was the approach NetTalk took. Itâs a lot more work to make an app work under NetTalk, but because thereâs no need to make an instance of the program per user, the resources are a lot lighter, which in turn means thousands of simultaneous users are possible on very modest hardware.
Cheers
Bruce
I am skipping the topics related to Anyscreen. In the attached photo, you can see a simple program I created with C12. When I select CHARSET:Turkish in the font I use on the screen, Russian characters are not displayed correctly. When I select CHARSET:Cyrillic, Turkish characters appear as question marks. What I understand by Unicode is that, regardless of the font, I can write Russian text in cell A1 and Turkish text in cell B1 in an Excel sheet. If C12 has Unicode support, can you please explain the attached image to me?
Unicode is a mapping, not an encoding. So when we talk about strings, we need to know what encoding they are using. At the moment this program is using ANSI encoding with a code page.
As I said earlier we do not yet know how to make the program use a different encoding in a string, or on a window. We donât know what encodings are supported. At this stage we donât know if itâs possible or not. We are all waiting for more information.
Here at work we adopted TS Plus as a way to have our apps in the web.
Itâs better than MS Terminal Services in needed resources and you can have a farm of Windows servers with load balancing.
Just install TS Plus on a Windows server, configure it, copy you app into the server, and your users will use your app into a browser.
We donât have so much users as you, but it works very well.
In the entire world of programming options that a developer may have to consider there are a few possibilities⌠UTF 8, 16 or 32 ⌠LE BE
For Clarion 12 its pretty simple, just ONE. It must support Windows flavor Wide Strings that are Little Endian UTF-16. The word âUnicodeâ in Windows dev has an implied meaning of UTF-16.
These W strings are at the core of the Windows OS. They are seen in W API calls as WCHAR PWSTR PCWSTR types. All the GUI controls use them. In .Net languages (C# VB etc) all use the same UTF-16 wide strings as their base STRING type. COM strings are the same. Everything is UTF-16 inside the Windows OS. All the ANSI âAâ functions are wrappers that convert to Wide strings, then call the âWâ functions.
We need it to easy in 12 to define Wide Strings, assign UTF-16 or ANSI values, then call a âWâ function like
MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
This was shown in the 2017 blog post about Unicode that used the USTRING type.
None of this is in the Clarion 12 first release. Itâs really 11.1+ or 11.2 and weâre waiting for Check for Update to deliver.
I wish it were that simple. And Iâll preface this rebuttal by pointing out that there is really no âone right wayâ for clarion users. Different encodings exist for different use cases (for a reason) and we need to be familiar with all of them.
Yes, All the Windows APIâs use utf-16 as their encoding. But of course we donât (tend) to use APIâs directly. Theyâre mostly in the RTL, or some class etc.
Outside of Windows though, the world mostly runs on utf-8. Web pages, JSON, XML, databases, Excel and so on, all favour utf-8 as the preferred encoding. Mostly because it is more compact (lower storage and memory needs) and also because it is backwards compatible with 7 bit ASCII.
So programmers need to be comfortable converting from one encoding to the other. And ideally the language facilitates that. One of the benefits of using a StringTheory object is that it can be any encoding you want. So you can easily use them as the source (or destination) to Windows API calls, or as the recipient of data from a database, or for parsing say JSON.
Direct Windows API calls are really the least of our worries. As are external things like JSON etc. The only thing we really care about are the things inside the RTL. (everything outside the RTL can be solved externally.) The RTL however controls the WINDOW and REPORT structures, and the critical issue right now is in being able to use any encoding at all on those. Frankly at this point I really donât care which encoding it is.
When discussing data or strings I prefer not to use the term âunicodeâ. It introduces ambiguity, and that seldom ends well, and is the source of many bugs. Itâs better to talk in terms of utf-16 or utf-8 because ultimately we will need to deal with both of them, and being able to understand they are different will reduce the opportunities for confusion.
WellâŚ
- I try to install C12 on new pc but it wouldnât work, had to install C11 first
- uh, this looks like bigger issue, it compiles apps but none of my mayor app (bigger ones) wonât finish compile, sometimes it just stucks in process, sometimes looks like it will finish (generation stops, writes eventually warnings, 0 errors) but exe is not generated
Your issue #1:
The SoftVelocity C12 installer appears to be missing a redistributable component. As a result, C12 fails with a âSystem.IO.FileNotFoundExceptionâ error on a clean Windows machine. I have created a quick fix for this issue. Simply download and run it on affected machines.
What about issue #2, stuck in compile, has enyone experience this problem? So now on clean brand new laptop fresh C12 install and seems that bigger apps wonât compile. I try with C11 on same pc, it works. C11 also sometimes (on different pc, rearly) used to stuck while compile but then i try to close clarion and it would immediately continue (then click on cancel closing), yeah it worked. I thought it was some compatibility problem pc vs clarion, now with completely different cpu, hdd, windows version⌠same thing but itâs way worse on C12.
EDIT: now i see it actually generates exe but it canât run it âThe Application has failed to start because its side to side configuration is incorrectâŚâ
⌠that works like a charm! Ran it before 12 and the install was flawless.
Thanks, Friedrich!!!