I need to continue working on Clarion applications developed 5 years ago. Is it easy to modify them?

I want to ask you about a non-technical issue. I have joined a company as an IT specialist to oversee a service provider who developed applications with Clarion 5 years ago. They have asked me, after purchasing the source code, to continue working on this application. I want to know if it is easy to modify this application or if it is impossible.

5 year old app? That’s pretty young for a Clarion app. I’ve been working on one that’s almost 20 years old. From Clarion 6 to, now, Clarion 11. NetTalk 4 to NetTalk 14.

So yeah, 5 years is definitely doable.

1 Like

Probably yes, no problem, but it depends. Five years in the world of Clarion is not very long. Clarion 11 was released in April 2018, and that is the major release we are still using. So mostly bug fixes, particularly to deal with AnyScreen, since then.

That’s the base Clarion product, and hopefully the application is developed using the ABC templates. Also hopefully any third-party add-ons in the application are still supported. If both of those are true then modifications to the program should be no problem.

So far as your ability to modify the application…IMO Clarion has a pretty steep learning curve. The language itself is not difficult to learn, but the place (in the template embed points) to put code to accomplish things beyond what the standard templates give you, takes a bit of getting used to. I’d say the place to get a very quick idea of what is going on would be to look at the Overview section of each of the classes listed under “ABC Library Reference” in the help.

I want to know how easy it is and also how long it takes for me to know how to modify and which subscription I should integrate and thank you in advance.
another question please does clarion help you a lot

which subscription I should integrate

I would recommend the Enterprise edition if your budget allows for it.

want to know how easy it is

That’s really all about perceptions, your experience with coding in general, etc. I say perceptions because I’ve been told I am a “good” programmer but then I see code that Mike Hanson, Bruce Johnson, Dries Driessen, Mike Douglas, Carl Barnes, and many others write and I feel like I’m back at day one.

Take the time to watch some of the Clarion Live webinars. HUGE amounts of AWESOME information there.

Clarion Live

Anyway, good luck and welcome to the community! Glad to have you!

1 Like

You’re not going to know how easy it is for you until you try. Although there are a few people who have hand-coded Clarion programs, most of us use the Clarion templates provided and/or additional third-party templates. A lot of template-driven application development programs are very limited in what you can do: you do what the template allows you to, and that is it. The Clarion templates have lots of embed points where you can add your own code to do stuff that the templates will not do out of the box. It is very rare that you come across something you want to do, and say “if only they had added an embed point there I would have been able to do that no problem”.

So does Clarion help you a lot? It has well-designed templates that handle the basics of what you need for a business-oriented program, and it gives you the ability to add your own bells and whistles. So yes, in that it handles the basic stuff for you easily and it gives you the power to go beyond that, it’s helpful!

But if, for example, you are trying to find a way to update the values a form with the new total of a browse on the form that you have set up to be modified by edit-in-place; is Clarion going to help you decide that the proper place to put that is not an embed on a control, or a windowmanager embed point, or TakeAccepted on the browse, but is in the ResetFromAsk embed point on the browse, after the parent call – no, it’s not. It’s for you to either know, or learn by trying things that don’t work, or figure out by understanding how the templates and classes work.

Likely would be helpful for you to detail “source code” here. What type of files were included - app, dct, clw, tpw, etc.

Please open your Clarion IDE and tell us what version it says in the title bar. If unsure paste a screen capture here of your IDE.

Capture d’écran 2024-06-07 091524

THANK YOU VERY MUCH FOR YOUR ANSWERS I HAVE JUST ONE LAST QUESTION. with what language I can work in Clarion and here is a small interface of an application where I am going to work on it. in general from what I have understood this platform helps a lot so I just encourage to take this risk

That thing you posted is from the application that was created with Clarion. It is not the Clarion program that you will need if you want to create or modify programs written in Clarion. What we’re asking for is for you to start up Clarion.exe and post this bit:

image

Unfortunately, that is not going to be your last question (“What language I can work in Clarion?”) because it shows you haven’t really understood anything you have been told yet.

Clarion (the program) produces executables by compiling code that is written in the Clarion language. Those Clarion language source code files (.clw) are either written directly by you, the programmer, or more commonly, generated from the information in your .APP and .DCT files, both of which you have created using the Clarion IDE. Your .DCT file contains information about the data files which you will be writing to and reading from, which can be either ISAM files or SQL databases. Your .APP file stores information which was input into template variables. That information varies from the very simple – this is the name of the main file for this procedure, to the very complex – this is what the window should look like for the procedure, this is what the menu for my application will look like and these are the procedures that will be called when those items are chosen, these are the columns that will be in this browse.

In theory, you can produce .DLLs in Clarion that contain certain functionality that could be called from some other language, but that is an advanced topic, and you are clearly a beginner. Similarly, Clarion can use components (DLLs, OCXs) that have been created in other languages. I will also mention, although this is probably too much information for you at this point, that the templates mentioned above are not a black box. They are part of what you get when you buy clarion (the program), and are stored in .TPL and .TPW files. They are written in the Clarion template language, and it is possible for you to write or modify your own templates.

2 Likes

I think the best thing you can do is pay whoever wrote the program for you to give you a one, or more, day introduction into Clarion and your application; if that is possible?

that’s the problem I don’t think he’s going to give me this stuff because he wants to keep the job to himself

you said everything I think as you said it’s not going to be my last question because really it’s the first that I heard clarion and after my research I haven’t found anyone in Morocco who works with this software. there are online training courses to follow them and to improve on this platform.

Clarion has a few areas to learn.

  1. The Language which is COBOL and Pascal sort of. But with many interesting data structures.
  2. the application and data dictionary (dct) which allow very high level changes. The application (app) is sort of a configuration manager.
  3. The templates which take the app and dct and generate code for you. Sometime quite a lot. Clarion is way different in this regard in that the code generation can take place again and again. This generation is directed by another scripting language called templates. You can also inject code into this process (the embed points in the app) which make it particularly useful.

As a result you need to learn a few different areas. The app is the most high level and useful and requires the filling in of forms and such. The code is obviously also required as is the knowledge of embed points and where that happens in the final generation of code.

You will find that Clarion is actually very versatile and amazingly productive. It is possible to add 10K lines of code in less than 10 minuites with the appropriate template. This can add amazing functionality very quickly and allow complex changes by altering a few checkboxes in the app.

I wish you well on your journey and hope all is successful

I haven’t seen the answer to this yet.

Assuming dct and app then the first thing you should do is get a successful build. That is, generate and compile so you are sure you have all required templates etc.

Run the newly built exe and make sure it all runs the same as the current supplied exe.

Once this is done you can start making incremental changes while you move through the learning curve.

Good luck with it.

Well I think that is the first issue you need to resolve. Your other option is to find a Clarion developer who is willing to work with you to get you started.

1 Like

I think the thing people are trying to say here is in regard to your original question;

I need to continue working on Clarion applications developed 5 years ago. Is it easy to modify them?

The answer is
a) Yes (If you have the source code)

b) You need a commercial license of Clarion to do so (whether you get Professional Edition or Enterprise Edition depends on the feature set the program uses. You will also need commercial licenses for any 3rd party products the program makes use of. It’s not uncommon for the cost of 3rd party accessories to exceed the cost of Clarion itself. Some of those accessories (like the Memory Driver) are very commonly used and sold by SoftVelocity themselves. Obviously it varies from one app to the next, but you can expect setup costs to range from $500 to $5000 or more.

c) How “easy” it is depends on your experience. Clearly you have no experience with the language, IDE, templates and so on. So your learning curve time will be substantial. How quickly you actually learn these things will depend on your general experience with data structures, database design, application programming, code and so on. Given the source apps (ideally) an experience Clarion person could modify the program easily. Given where you are you can expect a substantial investment in cash and time. Probably in the order of months of time before you can make anything more than very trivial cosmetic changes.

So “easy” will vary a lot from one person to another.

1 Like

It won’t be easy at all if you don’t know Clarion. Plus, it depends on how the programs are made, how many third parties they use, and if you actually have the real sources - as the programs maybe done with the app generator but you have only the clw sources, that’s pretty much useless. Also the size of the programs, how many custom code it has, and if it was “well done” or “bad on purpose”. It can take at least a year for non-clarion developer to grasp everything enough to maintain a legacy program, it’s a totally different enterprise than making a new one. I’d advice for your company to contract an experienced Clarion developer, at least for clearing things up, there are a lot out there.

Kind regards,
Jorge Lavera

2 Likes

To help us help you can you tell us about your experience as a Developer?

What tools and languages have you used? E.g. Visual Studio and C#, or Python, or FoxPro … etc

Have you purchased the most recent Clarion from SoftVelocity or were you provided a copy ?

Have you installed Clarion and what version … of Clarion … not your App that showed “40.30” in your prior post.

Whether it´s a Clarion, a COBOL, a C++, or an assembler application, I´d answer you the same: it depends mostly on how much the developers took care of “CLARITY, MODIFICABILITY AND MAINTAINABILITY”. Just the same old song that many developers have been singing since the Structured Programming revolution. Clarion could be a very easy to understand language, but again: it´ll depend on the people who made it. I too had been working on 20yo Clarion applications, and it was not difficult to move them from 5.5 to 11. Go ahead with your modifications, and good luck.