1

For several months I have not been able to do much with the new Clarion 7 IDE because of crashes that would happen pretty frequently or about every 10 minutes. Needless to say that is not productive in any way and in fact I have stayed away from it, hoping that Softvelocity would get the IDE more stable. It has been a frustrating experience as I have tried many times to make the IDE work for me, with the only reliable outcome being consistent, yet random and unpredictable crashes or the IDE has simply disappeared without any warning.

Last week I was contacted by a customer who was having some odd things happening with a Legacy (clarion template chain) application in Clarion 7.2 that used our Previewer and asked if I had experienced any issues. I have to admit that I don't do much product testing with Legacy anymore and haven't tested any Legacy apps in Clarion 7. So I decided this would be a good time to create a small legacy app in Clarion 7 and see how it worked. To cut a long story short, an hour and 5 crashes later I had a Legacy app that compiled and worked fine and reported that to my client. But the experience was anything but good. 5 crashes and a feeling that the IDE was very fragile. Admittedly I was running it on an older computer with XP and not much power in it, but still. I also have Clarion 7 on my Vista64 quad core computer with 8GB of RAM and I had experienced exactly the same issues on it as on my XP.

A friend of mine, John Hickey of GoPositive Software and ClarionLive fame contacted me this morning and offered to do a private webinar with me to see if he could help get over those crashes as he has been using Clarion 7 for a while. Arnold Young also chimed in as well so we could all compare settings and see what was going on. We spent an hour talking about the different settings and John shared with us what changes he makes that seem to make the environment much more stable than the default settings that Clarion 7 comes with, which I have been using with not so good results.

After we were done, I repeated my Legacy app creation and while there is a bug somewhere in the Legacy Wizard and/or the TXA import other than that problem (which leads to a crash) the rest went smoothly. No other changes were made, i.e. I did the test on my old XP machine, with the same dictionary, same Clarion 7.2 build (7283) and same steps. So I'm very happy to report that those changes do seem to have cut the random crashes down completely. I messed with the app a bit for about half an hour and C7 was just humming along nicely and no problems in sight. Below I'm detailing the settings that I changed based on John's advice and he graciously allowed me to post this information on my blog. I really hope this may help others who have been having those random, yet predictable and very frustrating crashes, to become productive with the new IDE!

To start, select "Tools | Options" from the main menu. Select the Clarion entry in the list on the left and it will expand to show several nodes of Clarion specific settings and select the "Clarion | Clarion for Windows | General" node as shown below.

Clarion - General

By default the second radio button is checked, "Parse all hand coded projects in the solution and only applications opened for editing" and the "Use lightweight parsing mode" is also checked. The change that we made here was to select the "Disable project parsing" This affects code completion, but this apparently is one of the major cause of crashes.

Next navigate to the "Text Editor | Clarion specific options | Code Completion"

Code Completion

The change we made here was to uncheck the "Enable Code Completion" turning code completion completely off. The Code completion adds quite a bit of time parsing the projects and sources and this seems to be contributing to the instability of the IDE.

Since we are in the Options window, there are two more settings that will improve your experience, while not contributing to fixing the crashes, but since we are already in this window we might as well look at them!

Navigate to the "WINDOW Structure Designer | General" node and in the "Designer Area Options" check the "Show Property Toolbar".

Window Structure Designer

Now repeat in the "REPORT Structure Designer | General node:

Report Structure Designer

When you open the Window designer or the Report designer you will now see the familiar property toolbar from the older IDE where you have quick access to the text, use variable and font settings of the selected control, see below.

Command Toolbar

The final tip on the performance and crashes is found in the application options. So close the Options window and use "Tools | Application Options" from the Clarion 7 main menu. Note that if an application is open, this menu item is disabled.

This will bring up the "Application Options" window.

Application Options

The changes we made there were to turn the Auto-Save OFF by setting the "Auto-save limit (MB):" to zero. This may or may not contribute to the crashes. John has this set to zero while Arnold was using the default setting of 16MB. I have set it to zero to start with.

While you are in there, if you haven't done so already, you might want to consider turning off the "Require a dictionary" checkbox at the top. It is not of much use but can cause problems if you open application that do not have any dictionary as you will not be allowed to save them!

That's it! I will be using these settings to start with but what little I have done today indicates that these changes have added considerably to the stability of the IDE. If you have any further tips or suggestions to improve the stability and user experience of Clarion 7 then please do not hesitate to send me an email or comment on this blog.

PS: If the IDE is indeed stable with those changes I will start to add them back one at a time until I hopefully can put my finger on what and where the instability is coming from and that might help Softvelocity in their quest to fix this.
Arnor Baldvinsson

In the past couple of days we have been getting spam from... well... us...B) Not really, but someone out there is sending spam with the support@icetips.com in the From header, like:

From: "icetips.com" <support@icetips.com>

The real sender is from industryd0463@resaleworld.com or some other name at resaleworld.com, but even this is bogus. I have been in touch with them and they assured me that this email address does not exist on their servers and has nothing to do with them. In my case the URL in the email is pointing to http://www.bims.web.tr/index2.html which can't be resolved, and pinging it says it can't be found, but the .tr country extension belongs to Turkey.

The content of the email is text indicating that your account needs to be attended to with a link, something like this:

"REFERENCE: Your Email to .

You recently sent email to a mailbox that requires authentication of the sender to reduce spam. Before your message can be delivered you must confirm that you are the sender by clicking on the link below and then clicking on the "Deliver" button that will be displayed. Once you have completed this step, no further authorization will be required for future emails that you send to this address.

Please confirm your email by visiting the URL

Thank you for your cooperation in helping us to fight spam.

Regards,
icetips.com Account Services
-------------------------"

So if you get an email like this, you can be absolutely sure that it has nothing to do with us and did not come from us!

Arnor Baldvinsson

Last Monday, Ed Robinson CEO of Aptimize (http://www.aptimize.com) talked at our .NET user group meeting in Redmond, about optimizing web sites. He pointed out one of the tools they use, http://www.webpagetest.org It is very interesting to run this on your site to see how it will perform.

It lists every item that is downloaded, every file, how long it takes to download, how long the server response is etc. It gives you a really good idea how long a website takes to load from various parts of the world as they route the signal through various servers, for example in the United States, Britain, the Netherlands, New Zealand etc. Four things that Ed suggested to make pages faster to load:

  1. Minify css and javascript files and anything else that can be minified. This can drastically reduce the size of those files as it cuts out all whitespace and with js files it also reduces the length of parameters and variable names.
  2. Use sprites for images. This means fewer downloads, fewer roundtrip requests.
  3. Consolidate files that are sent to the browser, such as css and javascript. This also reduces the number of requests to the server.
  4. Compress anything that can be compressed. Here is an article about compression using php or .htaccess Here is an article on how to set compression on the Apache webserver.

I found an excellent writeup of website optimization that explains each of those items in more detail. Ed's talk was only 15 minutes, but by itself, was worth the 7 hour total time for the trip (including waiting an hour for the ferry after missing the last one by 2 minutes;)

We are in the process of slightly redesigning the Icetips website and the plan is to have it up by the end of June 2010 and we will definitely be looking into how to optimize it as much as we can. We all like fast websites and none of us like waiting for a web page to load! It will be an interesting experiment and I hope you will see a much quicker website by the time we are done with it:)

Arnor Baldvinsson

We have made Clarion 7.2 compatible builds of all our products available for download from our website. You can now go ahead and download the new installs. All subscribers should have received an email from us with the download links. If you haven't please check your spam filter and if you still haven't received it check the email address in your Icetips account or drop me an email to let me know:)

You need to have a valid subscription to be able to download the installs. If you need to renew your subscription, please go to http://www.icetips.com/renewsubscriptions.php and purchase a renewal. If you do not have an Icetips Subscription, please go to http://www.icetips.com/subscribe.php to purchase.

Arnor Baldvinsson

Softvelocity released Clarion 7.2 yesterday (Friday, June 4, 2010). As I started testing with it this morning, I immediately ran into an old problem with the #RUNDLL template statement which I use in various places in our templates. This was fixed in 7.1 (or around 7.1 somewhere) but before that it would show a harmless GPF message in the output window but would not cause any issues. Well, that was not the case now as it would make the IDE become unresponsive and it had to be killed with the task manager. So this had to be fixed or worked around one way or the other!

After messing with this for a while and not getting anywhere with it, I decided to bite the bullet and reconstruct my old Borland C++ dll in Visual C++ as I have suspected that there are some incompatibility issues between Clarion 7 and the DLLs created by my old Borland C++ compiler. And lo and behold it fixed the problem! Now the new clean installs work perfectly!

I am currently rebuilding all the installs with the new dll and will finish that tonight and will resume testing in the morning. All new builds of our products will be available some time tomorrow!

Arnor Baldvinsson

The past couple of weeks have been on the difficult side for me as I had a bit of a cold and as sometimes happens to me I ended up with an eye infection for most of last week, which does not help with productivity in front of a computer screen! I got a good rest this last weekend and fortunately this nasty infection seems to be completely gone now!

On March 15, we released new builds of all of our products, mainly maintenance for Clarion 7.1 support. We also released a new build of our Runtime which is used by our templates. Unfortunately some of our installs that we released on the 15 had the wrong runtime DLLs, so I suggest that you download the latest build to make sure that you have the correct DLLs. Nothing serious is going to happen if you have the wrong ones and they will be replaced with new builds soon. Note that those runtimes are only used in the templates in the Clarion IDE and have nothing at all to do with what you need to distribute with your applications.

I have been working on further documenting the Utilities and there will be a release early next week with more updates. Currently I'm working on the Controls Class and the File Search Class. I have also been working on research and alpha testing on a new Utilities product, but it has been slower than I had hoped so I'm not planning on a beta release until around the middle of April.

Arnor Baldvinsson

Today we have discovered a problem in the latest Clarion 7.1 build 6849. This problem affects most of our products and will cause a GPF in the program at runtime. What I found out was that the #PDEFINE template statement, which we have used for years to add defines to the project, doesn't fire in this Clarion 7.1 build so classes that depend on their own defines in the MODULE and DLL attributes are not compiled correctly and will cause a GPF when the classes are instantiated.

I have reported this to SoftVelocity's Problem Tracker and I really hope that this will be fixed in the next build.

If you converted projects from Clarion 6 to 7.1 with our products in them, you should be just fine. This only affects templates that you have added to applications in this latest build of 7.1 and possible some of the latest builds as I'm not 100% certain when this stopped working.

I am also looking into an obscure problem in the SQL browse template that only shows up in 7.1, when the GreenBar is being used and only when a new column has been added. After then app has been closed and re-opened the problem goes away and also if the actions for the SQL browse have been entered after a new column has been added. It could be something in our templates or it could be something that is related to the #PDEFINE issue if some statements are not executing correctly.

Arnor Baldvinsson