The DCT and APP files are just databases. I have mapped these and was starting to use a mySQL database which combined the APP and DCT into one database structure. The Template symbols are defined as parent child database structures.
That not exactly the point I was trying to make; it was more about the economics of new potential users discovering Clarion in the first place, and then finding comparative value in it, in response to what Donn said. But nevermind, itâs not important.
â
Itâs an interesting technical problem. In my theoretical .NET target with Roslyn, I donât see why there couldnât be APP+DCT support there. Would be worth some investigation in a separate thread, maybe. Looking forward to that templating project if you ever start it @RSchofield.
What âfreeâ tools offer data dictionary support? None of the Microsoft products that Iâm aware of. Any Open Source stuff?
Unless Iâm misunderstanding you⌠For data access, Entity Framework might be the closest fit. The tables are defined similarly to a FILE structure and you can reference the columns directly in the query functions, like var oldOrders = efContext.Orders.Where(o => o.OrderDate < DateTime.Today.AddDays(-30))
, and oldOrders
becomes a collection of Order
objects that you can do whatever with. Some EF providers will let you scaffold the FILE definition from the database schema if youâre connecting to one that already exists.
Thereâs also a provider for Access JET. That may or may not be applicable to what youâre doing.
â
Editing this to mention that if youâre binding your fields to a UI, binding support is going to be provided at the whim of the UI framework and/or View Model framework of choice â the View Model here serves the same purpose as the Window property dialog in Clarion where you can set up local variables and expressions to which you can bind controls. Some require more code, others less. You could bind directly to an Order
if you really wanted to.
I think if youâve found it and are productive with it, you should stick with it. I had a quick look on the web and I would say that Clarion is in the sweet spot between the easy but inflexible templates where you can get your basics, but not really customize, and the ones where you have to write a lot of low level code just to get simple things done.
Like everyone I have my ideas about what would make Clarion better. I think top of my list is that you should be able to have a dictionary that leaves handling the data and tables to a SQL back end, and the Clarion âsideâ of the dictionary just deals with the other stuff (mainly the control associated with the column). At the moment I will generally set up my data tables in the database, and make changes there too, and having the Clarion dictionary makes me have to work on that stuff twice. Iâd also like to see some improvements in the way Clarion communicates with the database. It was great that you could move from ISAM to SQL databases with hardly a change in code, but there a lot of of situations where having your application able to (with the security clearance to) directly send delete/add/update commands to actual tables would be considered very risky behaviour. Prop:SQL helps, but is clunky and prone to injection.
Iâm sticking with it, but it does worry me a bit that if you type âwindows desktop database application developmentâ into google you wonât find clarion mentioned at all.
For us the Clarion queue structure has proved very flexible with it multi key access and its runtime creation from a simple text statement a much underrated feature.
The fact that the runtime can take a ptr to a group structure and create the queue at runtime is very impression.
This feature set should really be published as a standard feature instead of having to use compiled structures all the time when in fact the runtime support dynamic data structures.
Why AS as not opened this impressive technology up in the documentation is bewildering.
Bruces data structure vids would have an advanced features series that would go on for months.
Thanks everyone for your replies. I think the verdict is were carrying on with Clarion, but I think SV should be making all you guys ambassadors so you can go and tell the world all things clarion.
LOL! You are correct my friend.
Clarion, as in âlanguageâ is alive, and will be alive as long as there is a developer coding something. The language is elegant, the templates are useful, the DB drivers are good, the IDE is good enough.
Even when you can use other âsolutionsâ like Meteor, Electron, Meteor + Apolo (MongoDB should be avoided), or PHP or RoR, or ânew disruptive language of the weekâ Clarion is and will be, a great tool to make a fast DB App.
Yes, it will run on windows, but you can actually abstract the presentation layer, AnyScreen, TSPlus (personally my choice), TSPlus HTML, RDP (not bad) and you App will run on any OS.
You do not want to expose the port to the internet? Use a VPN and you will have a double layer of security.
Can Clarion do more? Yes, actually, you can extend Clarion and you can interface with DLLs.
Want even more? Use the Windows API, clarion is perfectly capable of doing so. Almost all of the Windows API.
Can Clarion survive the Windows evolution? Yup, Windows is backwards compatible. And will be for a long long time. Your apps will run under windows 17 and even WINE under Linux (YMMV).
Clarion will offer you job security. Sadly, is not as popular as other languages, and mostly because it is NOT free. But I have been paying for the Enterprise version for a long time now, and I am NOT coding for a living. But the Apps I created? Those apps saved me endless hours.
No, Clarion is not dead, and will not be a for a long long time.
I even doubt SoftVelocity will vanish, the end is not near.
Extensions, on the other way, well, I rather code my own pure Clarion classes than to use extensions, with one particular exception. Fomin Report Builder.
If you code your own stuff, your programs will survive across versions.
Regards
The complete source code for Andrew Barnhamâs Clarion2Java is on the net as open source so you could definitely see the internals. The problem was most Clarion people (including me) donât know Java well enough to use it.
appgen: Clarion to Java Compiler / Code / [r1501] /appgen/trunk
IDE: Clarion to Java Compiler / Code / [r1501] /ide
note this includes souce for both the template language as well as the Clarion language itself - all written in Java.
if your third party stuff comes with source code then it will be fine with different versions of Clarion. Where there can be a problem is with âblack boxâ DLLâs that rely on the Clarion runtime of a particular Clarion version.
Third party plug-inâs (templates or classes etc) can save you a great deal of time. For example IMNSHO, anyone not using StringTheory is wasting their time (and probably their customerâs time too).
Don please can you send me a link form Dries Driessen lecture or webinar where he explains how Microsoftâs Xaml Islands can be used in a Clarion app or some Clarion app example if you have one. Tnx
es, I understand the whole concept of this Microsoft story. In C++, C#, winforms can that all be done very easy and natively. However, in vain I tried to write clarion instructions, I did not manage that in Clarion. Probably, Clarion needs some template, CLW & INC, or not? In the case a template is needed I would buy it from you or somebody you refer me to. In my opinion this Microsoft thing is more useful than easyhtml ect. , and as well it is a open source concept. I am not able to find your webinar on Clarion live. One again thanks a lot. If you have any suggestions you would like to share, thanks as well.
Yes, I understand the whole concept of this Microsoft story. In C++, C#, winforms can that all be done very easy and natively. However, in vain I tried to write clarion instructions, I did not manage that in Clarion. Probably, Clarion needs some template, CLW & INC, or not? In the case a template is needed I would buy it from you or somebody you refer me to. In my opinion this Microsoft thing is more useful than easyhtml ect. , and as well it is a open source concept. I am not able to find your webinar on Clarion live. One again thanks a lot. If you have any suggestions you would like to share, thanks as well.
Was there a WEB on this subject on Dries usinf XML islands in Clarion?
even though accessing MS office is faster in DOT NET then using OLE in clarion in the end we moved interfaces in Csharp over to clarion interfaces and used slower OLE to access WORD and Excel due to the constant PITA with PInvoke in DOT NOT!!!
DOT NOT⌠forget itâŚ
Hi Milos - are you referring to what Dries called âDonut Holesâ?
If so, that was part of CIDC 2020 Africa which, because of Covid, has been postponed but a number of online presentations have been given including that one which was about having an âownerâ or âparentâ window and a number of âchildâ windows that are all viewed simultaneously - the child windows form part of the overall window.
TBH I am not sure that is what you are referring to but it is the most recent presentation by Dries that I can recall.
@vitesse
Thanks V
Don referred on Dries presentation from 2019 about Xaml Islands but I canât find it.
https://cidc2019.com/Presentations
yes , the man is did it. but I donât known how he did it in clarion. In C# is very simple.