> I don't think that counts as "doing all the work for the OP" since he's still got to figure <br>> out why it works :-)<br><br>I may leave some of you a wrong impression that I need spoon-feeding.  Let me explain what I mean clearly:<br>


<br>While using {$I %DATE%}, I can write:<br><br>WriteLn('COMPILED: ' + {$I %DATE%});<br><br>i.e. the $I above returned a string without trying to parse it.  But with {$I revision.inc} the file is parsed!   I just realized this after my first reply to Graeme.   After think about the logic, I think this makes sense. However, before I searched the forum for this problem, I didn't realize $I has such usage (I used to use that for $I- or $I+).<br>

<br>I am a programmer, but I only write apps, not compiler or OS related stuff. So sometime I may seem naive to "hardcore" or "real" programmers. Just like I asked why SIGFPE happend on random places.   I don't think answer such questions are spoon-feeding, just like the sigfpe question.<br>

<br>Sometime I have other considerations as to what is worth to do, e.g.  after I remembered I have to compile my program under windows, I hesitated whether I need to embed git rev into my program, because I don't want to install git on my windows virtual machine, not that I ask step by step help for how to do it, or write the script.<br>

<br><br><br><br>