<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">fredvs via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> schrieb am Mi., 11. März 2020, 12:51:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Other question relative to Warnings:<br>
<br>
How to do this:<br>
<br>
tdataevent(de_afterapplyupdate)<br>
<br>
where TDataEvent is defined as <br>
<br>
 TDataEvent = (deFieldChange, deRecordChange, deDataSetChange,<br>
    deDataSetScroll, deLayoutChange, deUpdateRecord, deUpdateState,<br>
    deCheckBrowseMode, dePropertyChange, deFieldListChange, deFocusControl,<br>
    deParentScroll,deConnectChange,deReconcileError,deDisabledStateChange);<br>
<br>
and de_afterapplyupdate was defined with:<br>
<br>
const<br>
...<br>
 de_afterapplyupdate = ord(high(tdataevent))+6;<br>
<br>
________________<br>
<br>
Now:<br>
<br>
--->  tdataevent(de_afterapplyupdate)<br>
<br>
Gives as Warning:<br>
<br>
"msebufdataset.pas(4070,16) Warning: range check error while evaluating<br>
constants (20 must be between 0 and 14)"<br>
<br>
?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">You are abusing enums. Either use them correctly or not at all. With your code you're moving outside of what is defined for the language (aka "undefined behaviour") and thus you can expect misbehavior.</div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div></div>