The DataCAD Developer Network (DDN) is an online resource for information and support for DCAL® (DataCAD Applications Language) developers as well as anyone interested in creating fonts, toolbars, hatch patterns, or linetypes for use in DataCAD.
#77165 by Joseph Baron
Tue Oct 29, 2019 9:26 am
Does anyone have any information on specific DCAL compiler limitations?

For example I am finding that I cannot have in a DCS file:
1. More that 50 calls to the same custom procedure.
2. More than 160 calls to the same builtin procedure.
3. Adding comments within the above can affect successful compiling.

While I haven't tested this extensively I am finding that sometimes it's a mystery why a DCS file will not compile without errors so I am looking for anything that can help me pinpoint why it won't get through the compiler.

Some of the errors include 'Doubly defined error' or 'Unable to add external reference'.

So is there limit on the maximum number of characters in any one Procedure/Function? The DCI & DCO files are small around 18KB.

Thanks in advance!
#77167 by Joseph Baron
Tue Oct 29, 2019 4:37 pm
Thanks David for your quick response,

I find that I can get up to 256 chars in a LNK file and that has become a limiting factor when adding more into a DCAL macro.

I tried your local procedure tip (thank you for that!) and it did help when adding more to source file before it brick walled again.

For this particular file it allowed almost double the calls I had, going from 60 to 114, so that's a good way to reduce when the available mem is running short.
#77172 by Joseph Baron
Wed Oct 30, 2019 6:14 am
Thanks David,

I am using DOSBox on a windows 7 x64 machine, and I can put up to 256 chars in a LNK file. I haven't put DOSBox on my windows 10 machine yet to see if it's the same.

I use a lot of pnttarr() and polar() calls in addition to custom procedures that draw a lot of lines and dimensions with an INI file that holds a lot of variables. I prefer the file names to be recognizable and do try to keep them short, and as you say I have 'split' things that I could not fit into one across two different but similar macros.

When the limitations do occur most of the time I start poking things into nested procedures that while it breaks up the code it does allow me to continue adding additional lines into existing code and get it through the compiler.

I do plan to get into D4D, I guess the Community Edition Delphi version that Embarcadero has is a good place to start.

Who is online

Users browsing this forum: No registered users and 37 guests

About DataCAD Forum

The DataCAD Forum is a FREE online community we provide to enhance your experience with DataCAD.

We hope you'll visit often to get answers, share ideas, and interact with other DataCAD users around the world.

DataCAD

Software for Architects Since 1984