From DCAL Manual:
All these parameters are now variables of "TArcArg" record.
Old Result is returned in "Result" field of this record, including any key press.
Init field could have boolean instead of pboolean and probably was in insight. You have to initialize this value to True before the calling procedure. Here is the dummy code on what you can do.
Code: Select all
FUNCTION getarc (msg : IN string; init : IN OUT boolean; center : OUT point;
radius, bang, eang : OUT real; key : OUT integer) : integer;
All these parameters are now variables of "TArcArg" record.
Code: Select all
TArcArg = RECORD
Result: crtstat; { out }
key: aSInt; { out }
init: pboolean; { in out }
state: aSInt; { in out }
center: point; { in out }
begang, { in out }
endang, { in out }
radius: aFloat; { in out }
msg: str80; { in }
END;
Old Result is returned in "Result" field of this record, including any key press.
Init field could have boolean instead of pboolean and probably was in insight. You have to initialize this value to True before the calling procedure. Here is the dummy code on what you can do.
Code: Select all
TLocalRecord = Packed Record
arcinit : boolean;
...... // other fields
case byte of
garc : TArcArg;
End;
Function CallArc(...)
begin
....
if act <> alsize then
begin
case localrecord(pl).state of
1 : begin
localrecord(pl).arcinit := true;
localrecord(pl).garc.init := @localrecord(pl).arcinit;
getarc(localrecord(pl).garc, retval);
end;
....
end;
end;
....
end;
Devinder S Verman
DATACAD LLC
DATACAD LLC