I do quite a bit of small hand coded test projects. Usually just a few lines of code to test some code or concept.  One of the things I like to do is add the Icetips Utilities to those projects so I can use methods like ODS (OutputDebugString)

Below I go through the steps and at the bottom is a short video of the whole process (1 minute, 31 seconds)

To create a small project like that you need to create a project using the "Win32 EXE" option when you create the solution.

CreateNewSolution
Creating a new source solution in Clarion 10

I also always uncheck the "Auto create project subdir" as I have normally create the folder before I create the solution, but if you haven't check this and it will create a sub folder with the name of the project.

The next step is to change the project settings.  In the Solution Explorer right click on the project node and select "Properties" from the popup menu.

Clarion10OpenProjectProperties
Opening the Project Properties in Clarion 10

In the project properties, select the "Compiling" tab and in the "Conditional Compilation Symbols" enter:

_ABCDllMode_=>0;_ABCLinkMode_=>1;_ITUtilDllMode_=>0;_ITUtilLinkMode_=>1
Clarion10SetProjectProperties
Setting Conditional Compile Symbols in Clarion 10

This will compile both the ABC classes and the Icetips Utility classes.  Note that this setting is for an EXE.  If you are compiling a DLL, then you need to switch the 0 and 1 in the settings above.

The first thing you need to do is to include the main header file:

  INCLUDE('ITUtilityClass.inc'),ONCE

I do this above the MAP statement.

Now you can use any code from the Icetips Utilities in your project.  For example:

ITU ITUtilityClass
 CODE
 MESSAGE('Icetips Utilities: ' & ITU.EXEName)

In the video below (no sound) go through each of the steps to make this happen:

I hope this may help some of you to use the power of the Icetips Utilities in your source projects 🙂

Arnor Baldvinsson

I have released Icetips Previewer build 2.7.391 with a fix to the problem with mouse wheel scrolling in the previewer window under Windows 10 that I blogged about yesterday. The fix seems to take completely care of the problem and have no ill effect on previous versions of Windows that I can find.  If you run into any problems with it or it seems to behave differently, then please let me know!

Arnor Baldvinsson

In Clarion 9.1 and 10 you can change the fonts for the IDE. This makes it easy to customize the IDE to look the way you want it to.  Personally I change the environment fonts to Segoe UI 9pt for dialogs and listboxes and Segoe UI 17pt for the Start page.

Clarion10FontSettings

I use good, old, boring Courier New 10pt for the editor but you might want to try Consolas, Lucinda Console or some other fonts.  Somehow I have ended up with one of Adobe's font on my laptop, "Source Code Pro" which comes in several different versions (black, semi-bold, light, extra-light)  The normal one looks pretty good, but I haven't really used it.  I have also used Droid Sans Mono which is a Google font.  If you want to find fonts to use in your editor, something other than Courier New, then go to fontsquirrel and have a look around.

Note that you must restart the IDE for the font changes to show.  This applies to all the font settings, also the Text Editor settings, which is a bit of a bother as you have to restart the IDE just to see how the fonts look like.  My suggestion is to load some code into WordPad and use it to pick a font that looks good to you and start from there.  WordPad has a nice feature where it will automatically reformat the text when you hover over a font in the font selection drop-down so it's easy to see how the font will affect the code.  See the video below for a demonstration.

Hope this will help you set up your environment to your liking:)

Update:  Here is an article, while from 2010, contains a nice collection of monospaced programming fonts:
http://www.codeproject.com/Articles/30040/Font-Survey-of-the-Best-Monospaced-Programming

Arnor Baldvinsson

Update: This has been fixed, see this post.

It appears that something in Windows 10 breaks the mouse wheel scrolling in Icetips Previewer!  In the latest Windows 10 Technical Preview (10130) and at least some previous ones if not all of them, it just doesn't work at all. 

computer-mouses

I haven't been able to find any references to a problem with scrolling in Windows 10 so this must be a very isolated case.  Guess it's time to take a look at that sub-classing code I added in back in March 2006 - more than 9 years ago!  My gosh, how time flies! 😎   This does not seem to be Clarion version specific as this is happening in applications compiled in Clarion 6.3 as well as Clarion 10 and with new and old builds of Icetips Previewer.

Hope you all have a good weekend - I'll be spending it with debug view on my Windows 10 virtual machine!

Arnor Baldvinsson

It was brought to my attention today by Lee White that the manifest for Clarion 10 is set to "asInvoker" This means that the IDE is NOT elevated when it runs. This can cause problems.

2015-06-10_1239

For example if you are used to seeing the  "Process Running" message if you accidentally left the program running that you are compiling, you will not see that in Clarion 10.  It will simply give you an "Access denied" error at the end of the linking process.

To fix this you need to make a small edit in the Clarion.exe.manifest file in your Clarion\Bin folder.  If you load it into an editor you will see a line that looks like this:

<requestedExecutionLevel level="asInvoker" uiAccess="false"/>

Change this line to:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

save it and you are done.  Now the IDE will open elevated and the "Process Running" warning will once again work as it should.  Note that to get the warning you must turn off the "Kill running process before build" or Clarion will simply kill it without prompting.

2015-06-10_1244

 

I have been running the Clarion IDE as elevated since Clarion 7 came out and never had issues with it.  But apparently some people have had problems so Softvelocity decided to change the manifest in Clarion 10.

Arnor Baldvinsson

One of the very cool things in the new IDE is the support for XML help. This is the information entered into .INC files using triple exclamation mark (!!!) comments. This makes a quick help accessible right in the IDE.  I have been working on documenting the ITUtilities.inc file and I'm about half way through it.  It doesn't replace the documentation but once I have gone through and documented the ITUtilities.inc it will be much easier for me to dig through getting the full documentation done.

Below is an example from the ITImageClass in the Utilities:

!!!<summary>
!!! Sets the position of the image withing a boundary control.
!!!</summary>
!!!<param name='pImageFEQ'>The control with the image</param>
!!!<param name='pRelativeFEQ'>The relative boundary control</param>
!!!<param name='pX'>Adjust horizontal placement</param>
!!!<param name='pY'>Adjust vertical placement</param>
!!!<param name='pJust'>Justification of the image inside 
!!! the boundary control</param>
!!! <para></para>
!!! <para>The horzontal justification can be one of:</para>
!!! <para> IT_IMAGE_JUST:LEFT</para>
!!! <para> IT_IMAGE_JUST:CENTER</para>
!!! <para> IT_IMAGE_JUST:RIGHT</para>
!!! <para></para>
!!! <para>The vertical justification can be one of:</para>
!!! <para> IT_IMAGE_JUST:TOP</para>
!!! <para> IT_IMAGE_JUST:MIDDLE</para>
!!! <para> IT_IMAGE_JUST:BOTTOM</para>

In the IDE, when you are entering the name of the method in the editor it will show you a tooltip with all the information above:

2015-06-06_12-32-46

Click on the image to load a full size screenshot.

Arnor Baldvinsson

It's been a bit of a rough ride to get the website moved. I ended up not going with my previous hosting company, rather moving the whole mess over to Hostgator.com.  That presented several challenges, but stubbornness prevailed 🙂

Reason being that Softsys Hosting did not offer a migration from one server to another so I'd have to manually move everything.  Since I was paying them almost $100/month for managed windows hosting, I felt they should be able to migrate my things from one server to another within their domain.  Well, they didn't see it that way, so I decided to save myself a bundle and go with linux hosting at Hostgator.  I'm only paying about 18% of what I was paying at Softsys Hosting.

This came with some pain and suffering though.  All my mySQL databases had to be renamed as Hostgator insists on a user prefix for all databases.  That again required changed in multiple scripts on my side.  Sessions are more sensitive on Hostgator than on previous hosting so they were causing errors all over the place.  Got that fixed.  Then had problems with my ordering process and got that going, but found out that it wasn't sending the emails it should have.  Softsys Hosting doesn't allow using the php mail() function but rather insisted on using an email class.  Worked great there, but didn't work at all on Hostgator so I had to change all my email class calls back to using mail()

After just over a week, I think everything is now back and running as it should.  If you run into any problems anywhere on the site, please let me know!

Since I was doing this, I decided to change the software I used for the Icetips blog and have started using Word Press.  The forum has also been upgraded to the latest and both have been set up to run on subdomains, so you can use blog.icetips.com to get to the blog and forum.icetips.com to get to the forum.

Arnor Baldvinsson

Sometime in the next few days our server will be moved from one virtual server to another with more RAM and more disk space and SSD, so it should make the website even faster:)  I don't know the schedule for this yet, but I'm hoping it will be today or tomorrow (Thursday May 21st or Friday May 22nd)  I don't think there will be any disruption by this move, maybe a downtime of a few minutes while the host company switches things around, but please be patient if the site goes down!

We have had occasional problems with the email server crashing because of low memory and that should be a thing of the past:)  I do not think we have ever lost any emails due to these crashes.  I'm planning to get our other websites over to this server in the very near future.

About 6 weeks ago I manged to fall down the stairs - yes that took real talent! - and almost break my right ankle.  I have had to be very careful about keeping my foot up and ice it, which is rather cumbersome when sitting at a desk!  It's much better now, but there is still swelling and I have to be careful when walking.  So things have moved very slow on everything lately and I apologize for how quiet it has been!

Clarion 10 is just around the corner and all our installs have been ready for some time except the CheckboxFixer which by accident didn't show the Clarion 10 option when installing.  There is a new build on the website with that fix.

Arnor Baldvinsson

I was staring at a completely unfamiliar window in a client project and had no idea what procedure it came from.  It was a form, so I didn't know what the original caption was and the strings on the window were pretty generic.  I needed a way to figure out what procedure this was.  Instead of spending time doing searches I decided to chance tactics and use the WindowsInitCode procedure from the Icetips Utilities to do it for me.  I explain the process in my latest Icetip.

What I did was to create a control on the window with the procedure name, as well as put it in the window caption and send it to DebugView with OutputDebugString (ODS method available in all Icetips classes)

Enjoy.

We have been asked a few times if we could make a zip with all the installs available. Now we have, and with the help of Build Automator, it is now a "one button" process that I can run as I upload new builds 🙂  The install files are in a password protected zip file that you can download.  Note that you must have a Gold subscription and be logged in to be able to download.  I have not made a separate download for the silver subscriptions.  The current zip file from April 14, 2015 is 96,198,707 bytes in size and contains all 14 product installs that we currently have.

I have finally been able to move Build Automator up from Clarion 6.3.  I was not able to compile it in Clarion 9.1 because of a "unknown compiler error" that would come up in one of the classes.  However, Clarion 10 was able to compile it just fine.  I've had to make some minor changes here and there - the splitting on the main window is now using a different splitter template than originally, but so far I haven't seen any problems with it.

I'm planning to get the new build of Build Automator out in April - unfortunately it just didn't make it in March!  I'm not going to say anything about other plans as that's an absolutely sure way to mess them up! 🙂

Arnor Baldvinsson