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