<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
	>
<channel>
	<title>Comments on: Delphi Prism / Oxygene Questions</title>
	<atom:link href="http://delphi.org/2008/12/delphi-prism-oxygene-questions/feed/" rel="self" type="application/rss+xml" />
	<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/</link>
	<description>The Podcast about the Delphi programming language, tools, news and community.</description>
	<lastBuildDate>Wed, 22 Feb 2012 11:47:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: 19 - Delphi Prism Q&#38;A &#45; The Podcast at Delphi.org</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-412</link>
		<dc:creator>19 - Delphi Prism Q&#38;A &#45; The Podcast at Delphi.org</dc:creator>
		<pubDate>Tue, 16 Dec 2008 09:02:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-412</guid>
		<description>[...]  &#160; &#160;   &#160;       &#171; Delphi Prism / Oxygene Questions    19 - Delphi Prism [...]</description>
		<content:encoded><![CDATA[<p>[...]  &nbsp; &nbsp;   &nbsp;       &laquo; Delphi Prism / Oxygene Questions    19 &#8211; Delphi Prism [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Naughty Kiwi</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-411</link>
		<dc:creator>Naughty Kiwi</dc:creator>
		<pubDate>Sat, 13 Dec 2008 21:51:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-411</guid>
		<description>I have never held any interest in creating .NET apps, so I thought Prism was going to be a big yawn for me.  But I now have a need to create a web based tool, and given i have no skills in PHP, etc, i realized that Oxygene/Prism could really fit the bill.  Hmmm, i guess that is not a question.  How about, what is the recommended back-end database for a web based app that may have reasonable but not high traffic?

Also, the subtle differences between the Delphi and Oxygene languages are annoying (even if logically i may agree with them).  Why is the compiler not a bit more forgiving in picking up these differences for Delphi converts?</description>
		<content:encoded><![CDATA[<p>I have never held any interest in creating .NET apps, so I thought Prism was going to be a big yawn for me.  But I now have a need to create a web based tool, and given i have no skills in PHP, etc, i realized that Oxygene/Prism could really fit the bill.  Hmmm, i guess that is not a question.  How about, what is the recommended back-end database for a web based app that may have reasonable but not high traffic?</p>
<p>Also, the subtle differences between the Delphi and Oxygene languages are annoying (even if logically i may agree with them).  Why is the compiler not a bit more forgiving in picking up these differences for Delphi converts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Janos Janka</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-409</link>
		<dc:creator>Janos Janka</dc:creator>
		<pubDate>Fri, 12 Dec 2008 22:12:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-409</guid>
		<description>Where are the following features from Prism?

IDE:
- IntelliSense (&quot;Resolve&quot; /SHIFT+ALT+F10/, &quot;Remove unused usings&quot;, etc.)
- code refactoring
- entity framework designer
- class view (or object browser)
- WCF config editor

Language features:
- collection initializers
- volatile fields (ok, it is not so important)
- XML comments (///)

Frankly, Visual C# IDE is much more richer.</description>
		<content:encoded><![CDATA[<p>Where are the following features from Prism?</p>
<p>IDE:<br />
- IntelliSense (&#8220;Resolve&#8221; /SHIFT+ALT+F10/, &#8220;Remove unused usings&#8221;, etc.)<br />
- code refactoring<br />
- entity framework designer<br />
- class view (or object browser)<br />
- WCF config editor</p>
<p>Language features:<br />
- collection initializers<br />
- volatile fields (ok, it is not so important)<br />
- XML comments (///)</p>
<p>Frankly, Visual C# IDE is much more richer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabricio</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-408</link>
		<dc:creator>Fabricio</dc:creator>
		<pubDate>Fri, 12 Dec 2008 15:23:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-408</guid>
		<description>@Raymond

I&#039;m not from Codegear or RemObjects, but I worked A LOT with VCL.NET and Delphi.NET. 

The great problem with explicit destructors on Delphi.Net is the fact that IDisposable implementation MUST be called by the programmer. On Delphi.Net, it means that you must call TObject.Free (and correlated like FreeAndNil and the like) explicitly.

Since WPF, Winforms and such things does not call Dispose automatically it means that your classes cannot rely on it being called as the object zero it&#039;s references and/or go out of scope.

IF .Net Framework would call Dispose automatically if supported when the Garbage Collector destroy the object, explicit destructors would be a real nice and useful compiler magic. But, until today, that won&#039;t happens and explicit destructors are just more one thing to clutter code.

Delphi.NET (combined with VCL.NET) tried to bring the native programming style to .NET. It failed, because .NET is another completely different beast (I liked Delphi.NET BUT it have a lot of traps because it doesn&#039;t follow the .NET way of doing things).

Oxygene compiler, on the other way, was designed from scratch to bring Object Pascal to .NET - FOLLOWING the .NET programming model and conventions.

It&#039;s all my very humble opinion, of course.

Best regards!</description>
		<content:encoded><![CDATA[<p>@Raymond</p>
<p>I&#8217;m not from Codegear or RemObjects, but I worked A LOT with VCL.NET and Delphi.NET. </p>
<p>The great problem with explicit destructors on Delphi.Net is the fact that IDisposable implementation MUST be called by the programmer. On Delphi.Net, it means that you must call TObject.Free (and correlated like FreeAndNil and the like) explicitly.</p>
<p>Since WPF, Winforms and such things does not call Dispose automatically it means that your classes cannot rely on it being called as the object zero it&#8217;s references and/or go out of scope.</p>
<p>IF .Net Framework would call Dispose automatically if supported when the Garbage Collector destroy the object, explicit destructors would be a real nice and useful compiler magic. But, until today, that won&#8217;t happens and explicit destructors are just more one thing to clutter code.</p>
<p>Delphi.NET (combined with VCL.NET) tried to bring the native programming style to .NET. It failed, because .NET is another completely different beast (I liked Delphi.NET BUT it have a lot of traps because it doesn&#8217;t follow the .NET way of doing things).</p>
<p>Oxygene compiler, on the other way, was designed from scratch to bring Object Pascal to .NET &#8211; FOLLOWING the .NET programming model and conventions.</p>
<p>It&#8217;s all my very humble opinion, of course.</p>
<p>Best regards!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raymond Wilson</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-407</link>
		<dc:creator>Raymond Wilson</dc:creator>
		<pubDate>Fri, 12 Dec 2008 14:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-407</guid>
		<description>I have a couple. :-) Well, one big one anyway!

The language compiled by Oxygene differs in many respects to the Delphi language. Many of the differences are additive, forming a superset of Delphi that natively supports many very useful .NET features and other enhancements.

However, many of the differences are not additive, they are incompatible, such as &#039;unit&#039; vs &#039;namespace&#039;, and &#039;:=&#039; instead of &#039;=&#039; in default var value assignments. These sorts of differences are catered for by the Delphi -&gt; Oxygene conversion tool, but not all!

A particular case that is not (I think) dealt with is the conversion tool is the prohibition of explicit destructors, but rather classes requiring this are forced to implement the .NET pattern. Dephi provided compiler magic to convert explicit destructors into the .NET pattern, whereas Oxygene does not.

Considering the enormous amounts of compiler magic being performed by Oxygene to support many other language features, I imagine this would not be hard to do.

Are there plans to support explicit destructors in Oxygene (like Delphi does)?

Raymond.</description>
		<content:encoded><![CDATA[<p>I have a couple. <img src='http://delphi.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Well, one big one anyway!</p>
<p>The language compiled by Oxygene differs in many respects to the Delphi language. Many of the differences are additive, forming a superset of Delphi that natively supports many very useful .NET features and other enhancements.</p>
<p>However, many of the differences are not additive, they are incompatible, such as &#8216;unit&#8217; vs &#8216;namespace&#8217;, and &#8216;:=&#8217; instead of &#8216;=&#8217; in default var value assignments. These sorts of differences are catered for by the Delphi -&gt; Oxygene conversion tool, but not all!</p>
<p>A particular case that is not (I think) dealt with is the conversion tool is the prohibition of explicit destructors, but rather classes requiring this are forced to implement the .NET pattern. Dephi provided compiler magic to convert explicit destructors into the .NET pattern, whereas Oxygene does not.</p>
<p>Considering the enormous amounts of compiler magic being performed by Oxygene to support many other language features, I imagine this would not be hard to do.</p>
<p>Are there plans to support explicit destructors in Oxygene (like Delphi does)?</p>
<p>Raymond.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf Monien</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-406</link>
		<dc:creator>Olaf Monien</dc:creator>
		<pubDate>Fri, 12 Dec 2008 14:47:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-406</guid>
		<description>Please see my blog for the full example. I just noticed that the generic definitions were aten up by the comments engine</description>
		<content:encoded><![CDATA[<p>Please see my blog for the full example. I just noticed that the generic definitions were aten up by the comments engine</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf Monien</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-405</link>
		<dc:creator>Olaf Monien</dc:creator>
		<pubDate>Fri, 12 Dec 2008 14:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-405</guid>
		<description>@Vegar: LINQ to SQL does of course work as well. The first example was meant to be very simple. See this working (still simple) LINQ to SQL example:
(I&#039;ll post the Customer class on my Blog)

method MainForm.button2_Click(sender: System.Object; e: System.EventArgs);
var
  LCustomers: Table;
  LDBMain: DataContext;
  LConnectionString:String;
begin
  LConnectionString := &#039;Data Source=.\SQLEXPRESS;Initial Catalog=DBDEMOS;Integrated Security=True&#039;;
  LDBMain := new DataContext(LConnectionString);
  LCustomers := LDBMain.GetTable();
  var USCustomers := from Customer in LCustomers where Customer.Country = &#039;US&#039; select Customer;
  
  for each Customer in USCustomers do begin
    listBox1.Items.Add(Customer.Name);
  end;
end;</description>
		<content:encoded><![CDATA[<p>@Vegar: LINQ to SQL does of course work as well. The first example was meant to be very simple. See this working (still simple) LINQ to SQL example:<br />
(I&#8217;ll post the Customer class on my Blog)</p>
<p>method MainForm.button2_Click(sender: System.Object; e: System.EventArgs);<br />
var<br />
  LCustomers: Table;<br />
  LDBMain: DataContext;<br />
  LConnectionString:String;<br />
begin<br />
  LConnectionString := &#8216;Data Source=.\SQLEXPRESS;Initial Catalog=DBDEMOS;Integrated Security=True&#8217;;<br />
  LDBMain := new DataContext(LConnectionString);<br />
  LCustomers := LDBMain.GetTable();<br />
  var USCustomers := from Customer in LCustomers where Customer.Country = &#8216;US&#8217; select Customer;</p>
<p>  for each Customer in USCustomers do begin<br />
    listBox1.Items.Add(Customer.Name);<br />
  end;<br />
end;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vegar Vikan</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-404</link>
		<dc:creator>Vegar Vikan</dc:creator>
		<pubDate>Fri, 12 Dec 2008 13:09:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-404</guid>
		<description>@Olaf: Well, I don&#039;t think it does. The example shows LINQ-syntax in use, but there is no evidence on LINQ to SQL as far as I can see.</description>
		<content:encoded><![CDATA[<p>@Olaf: Well, I don&#8217;t think it does. The example shows LINQ-syntax in use, but there is no evidence on LINQ to SQL as far as I can see.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf Monien</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-403</link>
		<dc:creator>Olaf Monien</dc:creator>
		<pubDate>Fri, 12 Dec 2008 10:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-403</guid>
		<description>@Vegar The followiing working code snippet from Prism might answer the 1st part of your question ;-)

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
  lCustomer: Customer;
  LCustomers : List;
begin
  LCustomers := new List; 

  lCustomer := new Customer;
  lCustomer.Name := &#039;Olaf&#039;;
  lCustomer.Country := &#039;Germany&#039;;
  LCustomers.Add(lCustomer);

  lCustomer := new Customer();
  lCustomer.Name := &#039;Jim&#039;;
  lCustomer.Country := &#039;USA&#039;;
  LCustomers.Add(lCustomer);

  var GermanCustomers :=
    from Customer in LCustomers
    where Customer.Country.Equals(&#039;Germany&#039;); 

  for Customer in GermanCustomers do begin
    listBox1.Items.Add(Customer.Name);
  end;
end;</description>
		<content:encoded><![CDATA[<p>@Vegar The followiing working code snippet from Prism might answer the 1st part of your question <img src='http://delphi.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);<br />
var<br />
  lCustomer: Customer;<br />
  LCustomers : List;<br />
begin<br />
  LCustomers := new List; </p>
<p>  lCustomer := new Customer;<br />
  lCustomer.Name := &#8216;Olaf&#8217;;<br />
  lCustomer.Country := &#8216;Germany&#8217;;<br />
  LCustomers.Add(lCustomer);</p>
<p>  lCustomer := new Customer();<br />
  lCustomer.Name := &#8216;Jim&#8217;;<br />
  lCustomer.Country := &#8216;USA&#8217;;<br />
  LCustomers.Add(lCustomer);</p>
<p>  var GermanCustomers :=<br />
    from Customer in LCustomers<br />
    where Customer.Country.Equals(&#8216;Germany&#8217;); </p>
<p>  for Customer in GermanCustomers do begin<br />
    listBox1.Items.Add(Customer.Name);<br />
  end;<br />
end;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vegar Vikan</title>
		<link>http://delphi.org/2008/12/delphi-prism-oxygene-questions/comment-page-1/#comment-402</link>
		<dc:creator>Vegar Vikan</dc:creator>
		<pubDate>Fri, 12 Dec 2008 09:11:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.delphi.org/?p=514#comment-402</guid>
		<description>Is it possible to use LINQ to SQL / Entity Framework with Prism?</description>
		<content:encoded><![CDATA[<p>Is it possible to use LINQ to SQL / Entity Framework with Prism?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 8/20 queries in 0.018 seconds using disk: basic

Served from: delphi.org @ 2012-05-21 03:06:26 -->
