This is a gist that I keep having to come back to over and over again. It is not a perfect method but it is really handy when I am all too often dealing with Clarion dates in SQL data…
This is a gist that I keep having to come back to over and over again. It is not a perfect method but it is really handy when I am all too often dealing with Clarion dates in SQL data…
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/
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!
Update 19th March 2013 – New screenshot from George
JP from DMC posted some screenshots to the newsgroup over the weekend showing off his latest UI enhancements using the ClarionMetroWizard classes. Nice work JP, looking great!
Look what Brahn’s help can do for our apps ….
wow!!!
Wizard form with next and previous buttons …..
MERCI Brahn – excellent work you did there
George has also kindly shared his initial experiment (with more on the way!):
It is exciting to see some discussion going on about UI. I wanted to join the party with some of my own examples 🙂
If you have anything to share let me know and I will update this post with more examples as they come in!
-brahn
If a child class has the IMPLEMENTS attribute for an interface implemented above in it in the hierarchy, not all of the interface’s methods have to be overridden.
Hopefully there is time to go through everything. The classes are pretty hacked together but they do what I need for now 🙂
-brahn