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.
#42034 by ERT
Sun Mar 08, 2009 4:53 pm
#42062 by Jsosnowski
Tue Mar 10, 2009 10:30 am
Here is what I learned:

When presented with a case statement in a record declaration, Delphi will allocate memory to encompass the largest requirements defined in the Case statement using the same memory area. The data for a line, circle polygon etc. all have the same offset (start point) in the memory structure for the record. The asint reference is not relevant except as a place holder for writing the record structure using the case statement. In use, the code that uses the data knows how to read the specifics. In the case of entities, the enttype field tells datacad what format should be used to read the data from the case statement. If the entity is a circle, it is read from the datablock as data for a circle. If you identified the data as a polygon, instead, but handed it the same data record, it would try to read the same memory area as if it contained a polygon (it would get meaningless information, but would still try).

Thanks ERT. Variable Records were an element of Delphi I had not been aware of in my reading. (I guess I fell asleep in that chapter.)
#42083 by ERT
Thu Mar 12, 2009 12:39 am

Who is online

Users browsing this forum: No registered users and 30 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