Error: Only up to 6 modules are supported in this layout. If you need more add your own layout.

The experiment that was ClarionWiki has come to an end. The long awaited discourse discussion platform has reached enough maturity for me to be able to install and manage it so I found an excuse and ClarionHub is born!!

Once again this is an experiment but already I have found a good use for it as a part of the Devstart.io addin. The API for pulling things out of Discourse is pretty neat and easy to use, I see good things ahead.

https://twitter.com/devstartio/statuses/469832187765063681

Please head over to http://ClarionHub.com , sign up and start discussing stuff.

-brahn

This is a little trick I tried a while back with a ClarionAddins client. They were having an installation problem which was a little tricky to diagnose when it occurred to me that the log4Net library used in the Clarion IDE can send data pretty much anywhere with the right appender. A little bit of looking around I came across Papertrail (affiliate link!) which serves my needs very nicely for now in the free version and is decently priced if traffic goes up.

The basic idea is this: Add the appropriate log4net appender to the Clarion.exe.config file, repeat the problem you are having with the IDE, let me know when you are done and I will check out the logs and see if there is anything I can spot that needs attention.

Disclaimer: Of course you will remember to back up any configuration files before you make changes right?

Step 1: Enable sending logs

(do this bit with the IDE closed!)

A while back I released a free addin that puts a Clarion Evaluate PAD in the IDE. Prompted by a user I was reminded that this needed an update to be compatible with the later versions of Clarion (it was compiled with C8). The reason for this is that the Clarion IDE itself uses the ClaRun.dll and once it has loaded that DLL into the .NET AppDomain anyone else who wants to load a Clarion DLL within that domain needs to make sure they are compatible with that runtime version. I spent a few hours looking at running in a different domain and various other tricks but as far as I can understand you are pretty much stuck with whatever is loaded first when it comes to LoadLibrary kind of calls. No biggy, I think this is a better solution anyway!

Plus… you can now use any valid Clarion Evaluate statement from the command line using the new app I made for use with my addin.

I have uploaded it to GitHub, included a C# .NET solution showing how you can use it from there.

Go take a look!! – https://github.com/fushnisoft/ClaEvaluate/

 

Command prompt demo

Oh, I found this great PDF with good Evaluate examples in case that is of any use to anyone: http://www.schoeffler.biz/download/evaluate.pdf

 

-brahn

The other day I discovered that some data I was trying to display in a TEXT control was being truncated. At first I thought it was because of the way I was using the text control, here was my initial question on the CW-Talk skype chat:

Ok, I have one for you… So I have this on a window:

TEXT,AT(110,40,418,308),USE(?MyText),VSCROLL

and at runtime put a string into the control like this:

?MyText{PROP:Text} = ‘blah blah’

Not sure why I used PROP:Text but it turns out this seems to work, mostly. However, it appears to have a limit of around 1000 chrs. My question, is this a valid way to use the TEXT control?
Follow up questions, is there a way to use the text control in the way I have declared it, without a variable, but not be limited in length?

Of course as soon as I posted it I figured out what I was doing wrong. Everywhere in my procedure I was using a string class to provide dynamically sized storage for the string data I was using except in this one place that was just before it was being shown on the window… In that case I was first saving the data to an IMDD (In Memory Database Driver) table using a CSTRING(1000). So of course, my displayed data was no bigger than 1000 characters!