<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/wordpress-mu-1.2.3-2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments for Delphi Corner Weblog</title>
	<link>http://blogs.teamb.com/rudyvelthuis</link>
	<description>Rudy Velthuis</description>
	<pubDate>Sun, 07 Sep 2008 06:07:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=wordpress-mu-1.2.3-2.2.1</generator>

	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Dmitry</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-792</link>
		<author>Dmitry</author>
		<pubDate>Thu, 08 May 2008 13:06:57 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-792</guid>
		<description>Hello,

Sorry for posting off topic here, I just can't find direct mail or other communication channel at your site. 

In your article you have mentioned a possible solution to CRTL external functions problem by declaring them as external in msvcrt.dll I've found another way how to solve this problem-  extract all OBJ files directly from BCB55's cw32.lib file using tlib as a helper tool. __ftol and _ftol are in ftol.obj This way I was able to bind sqlite3.lib directly into my Delphi project without DLL file (81 obj files, the order of $L is important) The only unresolved external is _wsprintfA wich is in user32.dll</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>Sorry for posting off topic here, I just can&#8217;t find direct mail or other communication channel at your site. </p>
<p>In your article you have mentioned a possible solution to CRTL external functions problem by declaring them as external in msvcrt.dll I&#8217;ve found another way how to solve this problem-  extract all OBJ files directly from BCB55&#8217;s cw32.lib file using tlib as a helper tool. __ftol and _ftol are in ftol.obj This way I was able to bind sqlite3.lib directly into my Delphi project without DLL file (81 obj files, the order of $L is important) The only unresolved external is _wsprintfA wich is in user32.dll</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Olaf Monien</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-21</link>
		<author>Olaf Monien</author>
		<pubDate>Tue, 10 Oct 2006 20:48:25 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-21</guid>
		<description>I don't see a technical problem either with the &#34;Units&#34; subnamespace. It's purely cosmetic - IMO.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t see a technical problem either with the &quot;Units&quot; subnamespace. It&#8217;s purely cosmetic - IMO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Rudy Velthuis</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-20</link>
		<author>Rudy Velthuis</author>
		<pubDate>Mon, 09 Oct 2006 16:43:53 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-20</guid>
		<description>AFAIK, the Units subnamespace is the namespace binding non-method functions and procedures in Delphi to .NET classes. There is no way to get rid of it, and I personally don't see it as a problem. It may look weird in Reflector, but Reflector is not .NET, it is only a tool for it.</description>
		<content:encoded><![CDATA[<p>AFAIK, the Units subnamespace is the namespace binding non-method functions and procedures in Delphi to .NET classes. There is no way to get rid of it, and I personally don&#8217;t see it as a problem. It may look weird in Reflector, but Reflector is not .NET, it is only a tool for it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Olaf Monien</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-19</link>
		<author>Olaf Monien</author>
		<pubDate>Mon, 09 Oct 2006 00:47:54 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-19</guid>
		<description>Actually discard #2 - it's been a compiler error ....&lt;br&gt;&lt;br&gt;This just leaves #1 - the &#34;mysterious Units&#34; namespace - which make Delphi assemblies look weird to non-Delphi users. They just have to ignore it, as everything else works fine.</description>
		<content:encoded><![CDATA[<p>Actually discard #2 - it&#8217;s been a compiler error &#8230;.</p>
<p>This just leaves #1 - the &quot;mysterious Units&quot; namespace - which make Delphi assemblies look weird to non-Delphi users. They just have to ignore it, as everything else works fine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Olaf Monien</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-18</link>
		<author>Olaf Monien</author>
		<pubDate>Sat, 07 Oct 2006 21:50:44 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-18</guid>
		<description>Good post! There seem to be indeed some misunderstandings about namespaces out there - not just in the Delphi world ;-)&lt;br&gt;&lt;br&gt;Anyway, there are two things which may lead to confusion in Delphi.NET:&lt;br&gt;&lt;br&gt;1: Delphi always emits an *additional* implicit &#34;Units&#34; name space. If you have a unit &#34;Foo.Bar.Test.pas&#34; containing a class &#34;Test&#34; Then you will see a name space &#34;Foo.Bar&#34; as expected, but also a name space Foo.Bar.Units, also containing a class &#34;Test&#34;. &lt;br&gt;This is not just an &#34;alias&#34;, in fact Delphi will mark any class in these &#34;Units&#34; name spaces as &#34;sealed&#34;, and these classes appear incomplete (no constructors, etc). In other words this is just some &#34;magic&#34;, used by Delphi only. In other .NET languages you should not touch these &#34;Units&#34; namespaces.&lt;br&gt;&lt;br&gt;2: Error Insight (at least on my machine) does not like stuff like this:&lt;br&gt;unit Foo.Bar.Class1;&lt;br&gt;...&lt;br&gt;end;&lt;br&gt;&lt;br&gt;unit Foo.Bar.Class2;&lt;br&gt;interface&lt;br&gt;...&lt;br&gt;implementation&lt;br&gt; uses Class1;&lt;br&gt;...&lt;br&gt;&lt;br&gt;This will compile fine, but &#34;uses Class1&#34; will be underlined in red. Errorinsight only likes the full reference - no matter what's defined as Default Namespace:&lt;br&gt;&lt;br&gt;unit Foo.Bar.Class2;&lt;br&gt;interface&lt;br&gt;...&lt;br&gt;implementation&lt;br&gt; uses Foo.Bar.Class1;&lt;br&gt;...&lt;br&gt;</description>
		<content:encoded><![CDATA[<p>Good post! There seem to be indeed some misunderstandings about namespaces out there - not just in the Delphi world ;-)</p>
<p>Anyway, there are two things which may lead to confusion in Delphi.NET:</p>
<p>1: Delphi always emits an *additional* implicit &quot;Units&quot; name space. If you have a unit &quot;Foo.Bar.Test.pas&quot; containing a class &quot;Test&quot; Then you will see a name space &quot;Foo.Bar&quot; as expected, but also a name space Foo.Bar.Units, also containing a class &quot;Test&quot;.<br />
<br />This is not just an &quot;alias&quot;, in fact Delphi will mark any class in these &quot;Units&quot; name spaces as &quot;sealed&quot;, and these classes appear incomplete (no constructors, etc). In other words this is just some &quot;magic&quot;, used by Delphi only. In other .NET languages you should not touch these &quot;Units&quot; namespaces.</p>
<p>2: Error Insight (at least on my machine) does not like stuff like this:<br />
<br />unit Foo.Bar.Class1;<br />
<br />&#8230;<br />
<br />end;</p>
<p>unit Foo.Bar.Class2;<br />
<br />interface<br />
<br />&#8230;<br />
<br />implementation<br />
<br /> uses Class1;<br />
<br />&#8230;</p>
<p>This will compile fine, but &quot;uses Class1&quot; will be underlined in red. Errorinsight only likes the full reference - no matter what&#8217;s defined as Default Namespace:</p>
<p>unit Foo.Bar.Class2;<br />
<br />interface<br />
<br />&#8230;<br />
<br />implementation<br />
<br /> uses Foo.Bar.Class1;<br />
<br />&#8230;<br />
</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Delphi for .NET namespaces misunderstood? by Marco van de Voort</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-8</link>
		<author>Marco van de Voort</author>
		<pubDate>Thu, 05 Oct 2006 10:42:20 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/10/04/27817#comment-8</guid>
		<description>/me puts in a vote for Modula-2 namespace handling.&lt;br&gt;&lt;br&gt;Actually I M2ed a while before returning to Pascal (then still TP), but that choice was more based on the compiler than the language.&lt;br&gt;&lt;br&gt;Inner modules and the import behaviour are still the nice parts of M2.</description>
		<content:encoded><![CDATA[<p>/me puts in a vote for Modula-2 namespace handling.</p>
<p>Actually I M2ed a while before returning to Pascal (then still TP), but that choice was more based on the compiler than the language.</p>
<p>Inner modules and the import behaviour are still the nice parts of M2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My quotes.txt file by Bill Mogk</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-7</link>
		<author>Bill Mogk</author>
		<pubDate>Wed, 02 Aug 2006 08:53:39 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-7</guid>
		<description>Seeing the quote by PhR (about dentists) brought back memories of other Non-Tech &#34;characters&#34; from past years.</description>
		<content:encoded><![CDATA[<p>Seeing the quote by PhR (about dentists) brought back memories of other Non-Tech &quot;characters&quot; from past years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My quotes.txt file by Rudy Velthuis</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-6</link>
		<author>Rudy Velthuis</author>
		<pubDate>Mon, 31 Jul 2006 05:06:04 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-6</guid>
		<description>You can specify the signature in the identity. In your signature, use the %sigfile% variable. My signature for my TeamB identity looks like:&lt;br&gt;&lt;br&gt;----------------------------------------------------------------8&#60;------&lt;br&gt;Rudy Velthuis [TeamB]        &lt;a rel="nofollow" target="_new" href="http://rvelthuis.de/"&gt;http://rvelthuis.de/&lt;/a&gt;&lt;br&gt;&lt;br&gt;%sigfile%&lt;br&gt;----------------------------------------------------------------8&#60;------&lt;br&gt;</description>
		<content:encoded><![CDATA[<p>You can specify the signature in the identity. In your signature, use the %sigfile% variable. My signature for my TeamB identity looks like:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-8&lt;&#8212;&#8212;<br />
<br />Rudy Velthuis [TeamB]        <a rel="nofollow" target="_new" href="http://rvelthuis.de/">http://rvelthuis.de/</a></p>
<p>%sigfile%<br />
<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-8&lt;&#8212;&#8212;<br />
</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My quotes.txt file by BradP</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-5</link>
		<author>BradP</author>
		<pubDate>Sun, 30 Jul 2006 03:09:32 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2006/07/29/26308#comment-5</guid>
		<description>How do you get XanaNews to use your quote file?</description>
		<content:encoded><![CDATA[<p>How do you get XanaNews to use your quote file?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on More undocumented Win32 language features by Roozbeh GHolizadeh</title>
		<link>http://blogs.teamb.com/rudyvelthuis/2005/05/13/4311#comment-4</link>
		<author>Roozbeh GHolizadeh</author>
		<pubDate>Wed, 05 Oct 2005 11:06:02 +0000</pubDate>
		<guid>http://blogs.teamb.com/rudyvelthuis/2005/05/13/4311#comment-4</guid>
		<description>Well i think this is also undocumented!&lt;br&gt;in delphi help about virtual methods in properties stated&lt;br&gt;&#34;If fieldOrMethod is a method, it cannot be dynamic and, if virtual, cannot be overloaded&#34;&lt;br&gt;&lt;br&gt;but following code compiles fine&lt;br&gt;&lt;br&gt;myclass=class&lt;br&gt;procedure SetTestValue(invalue : integer);overload;virtual;&lt;br&gt;procedure SetTestValue(invalue : string);overload;virtual;&lt;br&gt;property testvalue:integer write SetTestValue;&lt;br&gt;end;&lt;br&gt;&lt;br&gt;and doesnt compile in delphi 7!&lt;br&gt;&lt;br&gt;i also found this intresting thing(i dont know if in help stated or not)&lt;br&gt;&lt;br&gt;property only works with first overloaded procedure so the following doesnt compile!&lt;br&gt;&lt;br&gt;procedure SetTestValue(invalue : integer);overload;virtual;&lt;br&gt;procedure SetTestValue(invalue : string);overload;virtual;&lt;br&gt;property testvalue:string write SetTestValue;&lt;br&gt;&lt;br&gt;&lt;br&gt;forgive me if all was documented and told before ;)</description>
		<content:encoded><![CDATA[<p>Well i think this is also undocumented!<br />
<br />in delphi help about virtual methods in properties stated<br />
<br />&quot;If fieldOrMethod is a method, it cannot be dynamic and, if virtual, cannot be overloaded&quot;</p>
<p>but following code compiles fine</p>
<p>myclass=class<br />
<br />procedure SetTestValue(invalue : integer);overload;virtual;<br />
<br />procedure SetTestValue(invalue : string);overload;virtual;<br />
<br />property testvalue:integer write SetTestValue;<br />
<br />end;</p>
<p>and doesnt compile in delphi 7!</p>
<p>i also found this intresting thing(i dont know if in help stated or not)</p>
<p>property only works with first overloaded procedure so the following doesnt compile!</p>
<p>procedure SetTestValue(invalue : integer);overload;virtual;<br />
<br />procedure SetTestValue(invalue : string);overload;virtual;<br />
<br />property testvalue:string write SetTestValue;</p>
<p>forgive me if all was documented and told before ;)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
