<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: DGrok 0.6.5 released: fixed $IFNDEF</title>
	<atom:link href="http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/</link>
	<description>Life, .NET, and Cats</description>
	<pubDate>Mon, 06 Oct 2008 14:42:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Joe White</title>
		<link>http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5736</link>
		<dc:creator>Joe White</dc:creator>
		<pubDate>Thu, 04 Oct 2007 11:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5736</guid>
		<description>David:&lt;br&gt;&lt;br&gt;For the compiler options - that's because you *haven't* defined them as either true or false. There's no GUI for that yet; you have to hack the source and call the methods on the CompilerDefines object to tell it what's set. Sorry. There will be a GUI at some point.&lt;br&gt;&lt;br&gt;Search paths for *.inc - You can always work around this by putting relative paths in your {$INCLUDE} directives. And given that {$INCLUDE}s *can* have relative paths, I'm not quite sure how a recursive search would work. (&#34;Search recursively for 'Common\Foo.inc'&#34; -- seems kind of weird. Might work; I haven't tried.) But I probably will get this in at some point. Feel free to keep nagging me if I keep not getting it in and you keep thinking it's important.&lt;br&gt;&lt;br&gt;Assembly attributes: yes, I already support them, but only in the places where I've seen them show up: in the main body of .dpr files, and after the &#34;requires&#34; and &#34;contains&#34; clauses in .dpk files. I can add support for them in other places. Where do they show up in your code?&lt;br&gt;&lt;br&gt;{$SOPREFIX} and {$SOVERSION} - ah, more undocumented directives. Looks like they're just variations on {$LIBPREFIX} and {$LIBVERSION}. I'll get those into the next version. Is there a {$SOSUFFIX} as well?&lt;br&gt;&lt;br&gt;Re your code sample,&lt;br&gt;writer.Write(imgStr+'SRC=\''+iGetFile+'?abc='+fileRoot+'\' '&lt;br&gt;I get the same error from the Delphi compiler. &#34;Illegal character in input file: '?' (#$3F)&#34; So if it's not valid Delphi code, I'm not exactly sure what you want my parser to do with it!
</description>
		<content:encoded><![CDATA[<p>David:</p>
<p>For the compiler options - that&#8217;s because you *haven&#8217;t* defined them as either true or false. There&#8217;s no GUI for that yet; you have to hack the source and call the methods on the CompilerDefines object to tell it what&#8217;s set. Sorry. There will be a GUI at some point.</p>
<p>Search paths for *.inc - You can always work around this by putting relative paths in your {$INCLUDE} directives. And given that {$INCLUDE}s *can* have relative paths, I&#8217;m not quite sure how a recursive search would work. (&quot;Search recursively for &#8216;Common\Foo.inc&#8217;&quot; &#8212; seems kind of weird. Might work; I haven&#8217;t tried.) But I probably will get this in at some point. Feel free to keep nagging me if I keep not getting it in and you keep thinking it&#8217;s important.</p>
<p>Assembly attributes: yes, I already support them, but only in the places where I&#8217;ve seen them show up: in the main body of .dpr files, and after the &quot;requires&quot; and &quot;contains&quot; clauses in .dpk files. I can add support for them in other places. Where do they show up in your code?</p>
<p>{$SOPREFIX} and {$SOVERSION} - ah, more undocumented directives. Looks like they&#8217;re just variations on {$LIBPREFIX} and {$LIBVERSION}. I&#8217;ll get those into the next version. Is there a {$SOSUFFIX} as well?</p>
<p>Re your code sample,<br />
<br />writer.Write(imgStr+&#8217;SRC=\&#8221;+iGetFile+&#8217;?abc=&#8217;+fileRoot+&#8217;\&#8217; &#8216;<br />
<br />I get the same error from the Delphi compiler. &quot;Illegal character in input file: &#8216;?&#8217; (#$3F)&quot; So if it&#8217;s not valid Delphi code, I&#8217;m not exactly sure what you want my parser to do with it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe White</title>
		<link>http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5735</link>
		<dc:creator>Joe White</dc:creator>
		<pubDate>Thu, 04 Oct 2007 10:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5735</guid>
		<description>Ritsaert: Since they're undocumented, I can't be sure what they do. But I think I know what {$INLINE} does, since I was at the talk when Danny first demoed it. See &lt;a target="_new" href="http://blog.excastle.com/2004/09/13/dannys-whats-new-in-the-diamondback-compiler-session/" rel="nofollow"&gt;http://www.excastle.com/blog/archive/2004/09/13/293.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;As I understand it, if you set {$INLINE OFF} on some code, then nothing will be inlined into that code. I.e., if you call Length(), the compiler will generate a CALL instruction, rather than inlining the instructions. {$INLINE ON} is, I believe, the default, which means &#34;allow inlining to occur&#34;.&lt;br&gt;&lt;br&gt;I'm not sure what {$STACKCHECKS} does. And the other undocumented compiler directive, {$VARPROPSETTER}, doesn't seem to be documented much of anywhere. It's some kind of COM thing, but that's about all I know.
</description>
		<content:encoded><![CDATA[<p>Ritsaert: Since they&#8217;re undocumented, I can&#8217;t be sure what they do. But I think I know what {$INLINE} does, since I was at the talk when Danny first demoed it. See <a target="_new" href="http://blog.excastle.com/2004/09/13/dannys-whats-new-in-the-diamondback-compiler-session/" rel="nofollow">http://www.excastle.com/blog/archive/2004/09/13/293.aspx</a></p>
<p>As I understand it, if you set {$INLINE OFF} on some code, then nothing will be inlined into that code. I.e., if you call Length(), the compiler will generate a CALL instruction, rather than inlining the instructions. {$INLINE ON} is, I believe, the default, which means &quot;allow inlining to occur&quot;.</p>
<p>I&#8217;m not sure what {$STACKCHECKS} does. And the other undocumented compiler directive, {$VARPROPSETTER}, doesn&#8217;t seem to be documented much of anywhere. It&#8217;s some kind of COM thing, but that&#8217;s about all I know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Berneda</title>
		<link>http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5734</link>
		<dc:creator>David Berneda</dc:creator>
		<pubDate>Thu, 04 Oct 2007 06:54:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5734</guid>
		<description>Thanks! I've tested it with our code and found several things, for example:&lt;br&gt;&lt;br&gt;{$IFOPT C+}  &#34;has not been defined as either true or false&#34; (same for other compiler options like D-, R+, etc, etc.&lt;br&gt;&lt;br&gt;DGrok demo.exe needs some way to specify search paths for *.inc files. Also maybe a checkbox to allow recursive folder search or not.&lt;br&gt;&lt;br&gt;Delphi.Net packages allow attribute syntax using brackets, like:&lt;br&gt;&lt;br&gt;[assembly: AssemblyTitle('My assembly')]&lt;br&gt;&lt;br&gt;Grok error is &#34;Expected EndKeyword but found OpenBracket&#34;&lt;br&gt;&lt;br&gt;Packages can also have options like:&lt;br&gt;&lt;br&gt;{$SOPREFIX 'abc'}&lt;br&gt;{$SOVERSION '123'}&lt;br&gt;&lt;br&gt;String concat problem at this source code line:&lt;br&gt;  writer.Write(imgStr+'SRC=\''+iGetFile+'?abc='+fileRoot+'\' '&lt;br&gt;&lt;br&gt;error is:  &#34;Unrecognized character '?'&#34;&lt;br&gt;&lt;br&gt;regards, keep the good work!&lt;br&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks! I&#8217;ve tested it with our code and found several things, for example:</p>
<p>{$IFOPT C+}  &quot;has not been defined as either true or false&quot; (same for other compiler options like D-, R+, etc, etc.</p>
<p>DGrok demo.exe needs some way to specify search paths for *.inc files. Also maybe a checkbox to allow recursive folder search or not.</p>
<p>Delphi.Net packages allow attribute syntax using brackets, like:</p>
<p>[assembly: AssemblyTitle(&#8217;My assembly&#8217;)]</p>
<p>Grok error is &quot;Expected EndKeyword but found OpenBracket&quot;</p>
<p>Packages can also have options like:</p>
<p>{$SOPREFIX &#8216;abc&#8217;}<br />
<br />{$SOVERSION &#8216;123&#8242;}</p>
<p>String concat problem at this source code line:<br />
<br />  writer.Write(imgStr+&#8217;SRC=\&#8221;+iGetFile+&#8217;?abc=&#8217;+fileRoot+&#8217;\&#8217; &#8216;</p>
<p>error is:  &quot;Unrecognized character &#8216;?&#8217;&quot;</p>
<p>regards, keep the good work!<br />
</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ritsaert Hornstra</title>
		<link>http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5733</link>
		<dc:creator>Ritsaert Hornstra</dc:creator>
		<pubDate>Wed, 03 Oct 2007 17:07:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/03/dgrok-065-released-fixed-ifndef/#comment-5733</guid>
		<description>Do you have a description what these undocumented compiler directives do?
</description>
		<content:encoded><![CDATA[<p>Do you have a description what these undocumented compiler directives do?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
