Welcome to Clarion Community Sign in | Join | Faq

Clarion Language and Runtime Library

Started by zsoskic at 05-05-2008 12:38 AM. Topic has 3 replies.

Print Search
Sort Posts:    
   05-05-2008, 12:38 AM
zsoskic is not online. Last active: 5/26/2008 5:38:42 PM zsoskic

Top 200 Posts
Joined on 05-04-2008
Belgrade
Posts 3
IS IT POSSIBLE TO MAKE VERY BIG PROGRAM (ERP) USING CLARION?
Reply Quote
We are the programmers’ team which has been using CLARION for last
twenty years.

For period of one year we are making ERP which should have 1500-2000
procedures, ( we made 600) and, in last few months we are trying to
solve problem that bothers us and we can’t find a solution.
ENVIRONMENT:
Hardware: Processor 2Ghz, 1GB RAM…
OS: MS VISTA Professional
Database: MS SQL 2005
Clarion 6.1 ABC
+++++++++++++++++++++++++++++++++++++++++++++


Since now, we made two essentially different scenarios.


SCENARIO ONE:
1. Single FaraonDCT.dll with global variables and procedures
2. Single FaraonERP.exe which represents basic menu
2.1. Procedure 1: Collecting connect string with login
information
2.2. Procedure 2: Represents main menu and START (Procedure3)
2.3. Procedure 3: Creates user menu and START (Procedure 4, “
Procedure name ”)
2.4. Procedure 4: Recognizes “Procedure name” and calls correct
MDI child procedure placed in dll
3. 12-15 dll’s which had 50-100 procedures, each (two of those dll’s
were over 4 Mb). One dll handles one logical part (HR, finances, etc)
Result: Program crashed in different parts and events without
apparent reason. In The Task Manager we see that program was engaging
more and more RAM illogically. Sometimes, program crashes with error
report (GPF), sometimes without any error report. ?!!


SCENARIO TWO:
1. Single FaraonDCT.dll with global variables and procedures (like
scenario one)
2. Single FaraonERP.exe which represents basic menu (like scenario
one)
3. 37 dll’s which had 4-5 procedures each (browse, select, update
and report for one table)
Result: Program starts to load and then disappears without any error
report. Interesting point: Deleting any single procedure from dll
makes program start normally. After that, adding any other procedure
makes program disappear.


++++++++++++++++++++++++++++++++++++++++++++
QUESTIONS:
Q1. Is there any other scenario? Note: We don’t want an exe file for
each logical part (HR, finances, etc)
Q2. Does CLARION have any limitations on number of:
2.1. procedures
2.2. dll’s
2.3. modules per single dll
Q3. Is there anybody who tried to make an ERP in Clarion before?
Q4. Is any tuning of OS needed, to make the program with so many
(1500-2000) procedures work?
Q5. What tool, instead of Clarion, is suitable for this task?

   Report 
   05-19-2008, 10:19 AM
SuperHeroSkippy is not online. Last active: 10/24/2008 9:22:21 PM SuperHeroSkippy

Top 50 Posts
Joined on 06-13-2006
Richland Washington
Posts 13
Re: IS IT POSSIBLE TO MAKE VERY BIG PROGRAM (ERP) USING CLARION?
Reply Quote
We write a commercial point-of-sale application with thousands of procedures in many many DLL's.  It is as solid as a rock.  However, we have seen these issues before in our development.

I think we would need more details on your application to know what the problem is.  However, there are a few places to start. 

  • Are you using the TPS driver heavily on a Multi-processor or Multi-Core CPU?  There is a bug in the TPS driver that causes crashes and can be fixed by setting the program to have an "affinity" to a single processor.
  • Is your application multi-threaded?  If so are you using any non-threaded global variables?  Global variables should be avoided as much as possible when you can but when you MUST use them make sure they are Thread-Safe.
  • Are you using any templates?  We had an old template we'd been using for context menus in MANY of our browses.  This template was not savy to the new Clarion 6 threading model and thus was using non-threaded global queues.  This took us 6 months to track down and it caused us a TON of crashes.

Clarion lets you do many "unsafe" things and it is more likely you are doing one of those "unsafe" things that is causing your crashes than Clarion not being scalable.

Thanks,
John Hamilton
POSitive Software Company
http://www.gopositive.com


Thanks,
John Hamilton
POSitive Software Company
http://www.gopositive.com
   Report 
   05-26-2008, 11:05 AM
zsoskic is not online. Last active: 5/26/2008 5:38:42 PM zsoskic

Top 200 Posts
Joined on 05-04-2008
Belgrade
Posts 3
Re: IS IT POSSIBLE TO MAKE VERY BIG PROGRAM (ERP) USING CLARION?
Reply Quote
Dear John,

Thank you very much for your reply.
We also thank Earl R Coker and Leonid Chudakov who replied at Google Clarion Discussion group.
Unbelievable, but nobody from Clarion has nothing to say on this subject.


Q1: Are you using the TPS driver heavily on a Multi-processor or Multi-Core CPU? There is a bug in the TPS driver that causes crashes and can be fixed by setting the program to have an "affinity" to a single processor.

A1: Yes.
Our EXE has application window which dynamically reads menu from TPS, according to logged user. Of course, all the time when program executes, these TPS tables are open. Some of these TPS tables are being used in another DLL’s. We also use TPS tables as user temporary tables.
Q2: Is your application multi-threaded? If so are you using any non-threaded global variables? Global variables should be avoided as much as possible when you can but when you MUST use them make sure they are Thread-Safe.

A2: Yes &Yes
GLOBAL:SqlConnectString - is not "Thread-Safe".
We don’t want to open all SQL tables as soon as program starts.
GLOBAL:Rectange - is "Thread-Safe".
We want this to be used from any DLL.

Q3: Are you using any templates? We had an old template we'd been using for context menus in MANY of our browses. This template was not savy to the new Clarion 6 threading model and thus was using non-threaded global queues. This took us 6 months to track down and it caused us a TON of crashes.

A3: No.
All applications use only SoftVelocity ABC templates.
This way all embedded points are exposed and subject to check when new Clarion versions come.


Dear John, we hope that those answers will be useful to help us more, and please, could you tell us how to set the program to have an "affinity" to a single processor?

Your sincerely,
Zoran Soskic,
DNA Software, Belgrade
http://www.faraon.co.yu

   Report 
   05-26-2008, 11:12 PM
Shankar is not online. Last active: 11/14/2008 4:04:22 PM Shankar

Top 10 Posts
Joined on 10-24-2005
Dubai, UAE
Posts 219
Re: IS IT POSSIBLE TO MAKE VERY BIG PROGRAM (ERP) USING CLARION?
Reply Quote
Hi Zoran,

The best solution is to use IMAGECFG on the EXE file and bind it to a single processor. Please Google to find download site of IMAGECFG. It is a Microsoft Tool.
Regards

Shankar
   Report 
Clarion Communi... » Clarion » Clarion Languag... » IS IT POSSIBLE TO MAKE VERY BIG PROGRAM (ERP) USING CLARION?

Powered by Community Server, by Telligent Systems