<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-6213675832373085044.post5994030462848804912..comments</id><updated>2008-07-11T08:09:08.747-07:00</updated><title type='text'>Comments on Bringing the Technofunk: Some observations on Delphi and CodeGear RAD</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.beigehat.com/feeds/5994030462848804912/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html'/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-360128476788034050</id><published>2008-07-11T08:09:00.000-07:00</published><updated>2008-07-11T08:09:00.000-07:00</updated><title type='text'>I did not understand your issues with by value/by ...</title><content type='html'>I did not understand your issues with by value/by reference and arrays:&lt;BR/&gt;&lt;BR/&gt;// open array, by value (copy on stack)&lt;BR/&gt;procedure P(A: array of Integer);&lt;BR/&gt;// open array, by reference (no copy)&lt;BR/&gt;procedure P(var A: array of Integer);&lt;BR/&gt;&lt;BR/&gt;with dynamic arrays, things are different. A dynamic array variable is an implicit pointer to a structure that defines the array (ref counter, boundaries, data), like strings - but unlike strings they do not use copy-on-write semantic - if the reference count is &gt; 1 and the array is changed, no copy is made and the original array is changed. Thereby:&lt;BR/&gt;&lt;BR/&gt;procedure P(A: TDynIntegerArray);&lt;BR/&gt;&lt;BR/&gt;passes a copy of the implicit pointer, but A[0] := 1 will change the same array.&lt;BR/&gt;&lt;BR/&gt;procedure P(var A: TDynIntegerArray);&lt;BR/&gt;&lt;BR/&gt;will pass a reference to the original implicit pointer (useful mostly if you have to act on the implicit pointer itself and not the array contents).&lt;BR/&gt;&lt;BR/&gt;I agree that this are intricacies that can deceive a beginner, unluckily a 25 years old language can develop some (see C/C++...), especially when new features are added while trying to mantain compatibility and without using lots of new reserved words. IMHO is better than throwing languages away and creating new incompatible ones.&lt;BR/&gt;&lt;BR/&gt;One thing to blame in RAD 2007 is the lack of the "Language Guide" that was in every box until Delphi 7. It explained in a terse form everything you needed to know about the language. But because people no longer read printed manual it was removed.&lt;BR/&gt;&lt;BR/&gt;I understand if you have to code in several languages at once you may have not time for a systematic reading, but then communities around languages can help - just approach them in a different way next time, please.&lt;BR/&gt;&lt;BR/&gt;Anyway "chapeau" for admitting your own mistakes - it can be not easy. Thank you.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/360128476788034050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/360128476788034050'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215788940000#c360128476788034050' title=''/><author><name>LDS</name><uri>http://www.blogger.com/profile/04633789460476801953</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-3009839595288987122</id><published>2008-07-10T17:41:00.000-07:00</published><updated>2008-07-10T17:41:00.000-07:00</updated><title type='text'>And as far as languages go, while I prefer working...</title><content type='html'>And as far as languages go, while I prefer working in C#, I'm actually best at Mumps.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/3009839595288987122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/3009839595288987122'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215736860000#c3009839595288987122' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-7886687619123321929</id><published>2008-07-10T17:40:00.000-07:00</published><updated>2008-07-10T17:40:00.000-07:00</updated><title type='text'>LDS: Thanks for the tips, especially on Format. Yo...</title><content type='html'>LDS: Thanks for the tips, especially on Format. You can see though, how a beginner to Delphi would get confused on passing a "dynamic array" vs "open array parameters". If you were learning how to pass by value in Delphi, then attempted to apply the same style to pass by reference, you would end up with "open array parameters", which is not pass by reference.&lt;BR/&gt;&lt;BR/&gt;And yes, any language can use get/set methods, I usually write my own in whatever language I happen to be writing in. Thanks for the tip on properties though.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7886687619123321929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7886687619123321929'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215736800000#c7886687619123321929' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-4973097236908766100</id><published>2008-07-10T14:36:00.000-07:00</published><updated>2008-07-10T14:36:00.000-07:00</updated><title type='text'>"I've worked with C#, Java, Delphi, Mumps, Bash sc...</title><content type='html'>"I've worked with C#, Java, Delphi, Mumps, Bash scripting, Cobol, Windows, Linux, Eclipse, Vim, Visual Studio,"&lt;BR/&gt;&lt;BR/&gt;Until you don't understand that Delphi (through TurboPascal) predates most of those languages/IDE (but COBOL) and thereby developed its own standards without being influenced too much by later languages (and being Pascal, little influenced by C either), you won't be able to use it proficiently. Don't expect it behaves like Java or C# - it was not designed so. Delphi is not a pure OO language. It has non OO datatypes (like C++...).&lt;BR/&gt;&lt;BR/&gt;1) "Foreach" is called "for ... in", a clever way to avoid to introduce a new keyword that could have made older code incompatible - they used two keywords already in use.&lt;BR/&gt;&lt;BR/&gt;2) No, there are no array object types, there are lists. There are functions to search within arrays, though. Delphi arrays are like C arrays. For..in works with array, though.&lt;BR/&gt;&lt;BR/&gt;3) Don't mistake "dynamic arrays" and "open array parameters":&lt;BR/&gt;&lt;BR/&gt;type&lt;BR/&gt;TMyArray: array of Integer; // dynamic array&lt;BR/&gt;&lt;BR/&gt;procedure P(A: array of Integer); // open array parameter&lt;BR/&gt;&lt;BR/&gt;The syntax is similar, but they have different meanings. An open array parameter takes *any* array, including but not limited to dynamic arrays. If you need a dynamic array parameter, declare it and use it the the parameter definition:&lt;BR/&gt;&lt;BR/&gt;procedure P(A: TMyArray);&lt;BR/&gt;&lt;BR/&gt;the parameter is then a dynamic array and it is not static within the procedure.&lt;BR/&gt;&lt;BR/&gt;4) Implicit conversions are for BASIC developers :) Use Format() and format specifiers to build messages:&lt;BR/&gt;&lt;BR/&gt;ShowMessage(Format('Error %s at line %d', [ErrorMsg, Line]));&lt;BR/&gt;&lt;BR/&gt;Much clearer to read.&lt;BR/&gt;&lt;BR/&gt;5) Delphi does not support nested comments - but supports nested functions :-P Never feel a real need for nested comments, though. Use ctrl+/ to comment a whole block of code.&lt;BR/&gt;&lt;BR/&gt;6) Delphi can use get/set methods or can access a field directly. That's why it's up to the developer to choose what to use:&lt;BR/&gt;&lt;BR/&gt;// property access a field directly&lt;BR/&gt;property Bar: string read FBar write FBar;&lt;BR/&gt;// property reads from field and write through method&lt;BR/&gt;property Bar: string read FBar write SetBar;&lt;BR/&gt;// read and write through methods&lt;BR/&gt;property Bar: string read GetBar write SetBar;&lt;BR/&gt;&lt;BR/&gt;Code completion will help you to fill the blanks...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/4973097236908766100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/4973097236908766100'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215725760000#c4973097236908766100' title=''/><author><name>LDS</name><uri>http://www.blogger.com/profile/04633789460476801953</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-7025470913431463102</id><published>2008-07-07T17:06:00.000-07:00</published><updated>2008-07-07T17:06:00.000-07:00</updated><title type='text'>Donald:The way of the future is knowing how to app...</title><content type='html'>Donald:&lt;BR/&gt;&lt;BR/&gt;The way of the future is knowing how to apply any kind of technology to a given field. My speciality is the medical field. I don't care what the programming language is, I can write code in all of them. My interests lie in how enterprise applications can improve patient care. I will use whatever programming language or tool is the best to solve the problem at hand.&lt;BR/&gt;&lt;BR/&gt;And as far as english not being your first language, when I said "I'm trying to cut you some slack", I meant that I was trying to be NICE to you because I understand that english isn't your first language. &lt;BR/&gt;&lt;BR/&gt;Do you actually read my posts, or do you decide to just troll because you're bored? Are you actually able to answer any of the technical issues that I've had? So far, I haven't seen any good content from you that shows you know Delphi or RAD Studio either. If you are only good at one language or platform, YOU are the one that is being left behind.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7025470913431463102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7025470913431463102'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215475560000#c7025470913431463102' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-5713885247292341716</id><published>2008-07-07T10:06:00.000-07:00</published><updated>2008-07-07T10:06:00.000-07:00</updated><title type='text'>Branden,Yes english is not my first language. And?...</title><content type='html'>Branden,&lt;BR/&gt;&lt;BR/&gt;Yes english is not my first language. And?&lt;BR/&gt;&lt;BR/&gt;Your comments:&lt;BR/&gt;&lt;BR/&gt;"I don't have the time to sit for weeks on end to learn the special ins and outs of a language and/or IDE. So far this year, I've worked with C#, Java, Delphi, Mumps, Bash scripting, Cobol, Windows, Linux, Eclipse, Vim, Visual Studio,"&lt;BR/&gt;&lt;BR/&gt;Thats the reason because you are not good enough in nothing. You will never exploit Delphi if you dont take the needed time to learn it. Period. Same happens to everyhting. You cannot manage all the stuff you mentioned. For that reason you are not a expert in nothing, and cannot accmplish even the simplest task you try to do with VCl and Delphi.&lt;BR/&gt;&lt;BR/&gt;So, stop blaming something you dont know, either at a 2% level. Is silly, ignorant and pedantic.&lt;BR/&gt;&lt;BR/&gt;Read and learm then talk about something. Simple rules for your life.&lt;BR/&gt;&lt;BR/&gt;Best regards.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5713885247292341716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5713885247292341716'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215450360000#c5713885247292341716' title=''/><author><name>Donald Shimoda</name><uri>http://www.blogger.com/profile/17685517163467301145</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-7139643235633950948</id><published>2008-07-07T03:18:00.000-07:00</published><updated>2008-07-07T03:18:00.000-07:00</updated><title type='text'>Marco: I respect your opinion, and I am grateful f...</title><content type='html'>Marco: I respect your opinion, and I am grateful for those of you who take the time to write to me and try to educate me. Usually how I come up with my posts, is as I code, I take notes. To post entries here, I compile my notes for the day. It just seems that my notes for CodeGear RAD tend to be more negative. &lt;BR/&gt;&lt;BR/&gt;I don't have the time to sit for weeks on end to learn the special ins and outs of a language and/or IDE. So far this year, I've worked with C#, Java, Delphi, Mumps, Bash scripting, Cobol, Windows, Linux, Eclipse, Vim, Visual Studio, CodeGear RAD, XML, RDBMS, and non-relational databases. For the most part I can do it all rather seamlessly. I get annoyed with CodeGear RAD because I expect more from CodeGear RAD. It's so close to Visual Studio that I get annoyed when things don't function as well as VS.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7139643235633950948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/7139643235633950948'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215425880000#c7139643235633950948' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-3022149630622818968</id><published>2008-07-07T01:06:00.000-07:00</published><updated>2008-07-07T01:06:00.000-07:00</updated><title type='text'>I still think you should learn a bit more before b...</title><content type='html'>I still think you should learn a bit more before blogging...&lt;BR/&gt;- for in&lt;BR/&gt;- TList.IndexOf&lt;BR/&gt;- operator overloading for records (and class helpers, that C# still lacks), since D2006 in Win32&lt;BR/&gt;- properties are so much better&lt;BR/&gt;- nested comments with different styles (yes, this could be improved) // { /*</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/3022149630622818968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/3022149630622818968'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215417960000#c3022149630622818968' title=''/><author><name>Marco Cantu</name><uri>http://www.blogger.com/profile/14358517806624759062</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-5723359984554542181</id><published>2008-07-07T00:40:00.000-07:00</published><updated>2008-07-07T00:40:00.000-07:00</updated><title type='text'>If I remember correctly, operator overloading was ...</title><content type='html'>If I remember correctly, operator overloading was introduced together with COM variant support - way before .NET.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5723359984554542181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5723359984554542181'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215416400000#c5723359984554542181' title=''/><author><name>Lars Fosdal</name><uri>http://www.blogger.com/profile/05635001623287214775</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-8715392723360834083</id><published>2008-07-06T19:03:00.000-07:00</published><updated>2008-07-06T19:03:00.000-07:00</updated><title type='text'>Upon further thought, Delphi allowing operator ove...</title><content type='html'>Upon further thought, Delphi allowing operator overloading was probably put in so that the language could be compatible with .NET (same reason why Delphi now has nested types).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/8715392723360834083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/8715392723360834083'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215396180000#c8715392723360834083' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-6324675830982634433</id><published>2008-07-06T19:02:00.000-07:00</published><updated>2008-07-06T19:02:00.000-07:00</updated><title type='text'>Lars:I've been doing some reading, and I've found ...</title><content type='html'>Lars:&lt;BR/&gt;&lt;BR/&gt;I've been doing some reading, and I've found some conflicting info that suggests Delphi in fact does allow operator overloading.&lt;BR/&gt;&lt;BR/&gt;http://www.aspfree.com/c/a/.NET/The-Delphi-Language-Part-2/10/&lt;BR/&gt;&lt;BR/&gt;But I still agree that it is a bad idea in general.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/6324675830982634433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/6324675830982634433'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215396120000#c6324675830982634433' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-1307392442688712286</id><published>2008-07-06T18:58:00.000-07:00</published><updated>2008-07-06T18:58:00.000-07:00</updated><title type='text'>Donald Shimoda: I'm trying to cut you some slack, ...</title><content type='html'>Donald Shimoda: I'm trying to cut you some slack, cause it sounds like english isn't your first language. If you read my posts more carefully, it is very clear that my favorite language is C#.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1307392442688712286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1307392442688712286'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215395880000#c1307392442688712286' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-5564677605472416635</id><published>2008-07-06T18:57:00.000-07:00</published><updated>2008-07-06T18:57:00.000-07:00</updated><title type='text'>Lars:Ahhhhh, thanks for the tip on the for loop =)...</title><content type='html'>Lars:&lt;BR/&gt;Ahhhhh, thanks for the tip on the for loop =).&lt;BR/&gt;&lt;BR/&gt;As far as my problems with arrays, I was thinking it might have to do with pass by value as opposed to pass by reference, but I didn't have time to to research the difference between the two in Delphi.&lt;BR/&gt;&lt;BR/&gt;I see your point on not overloading operators, and upon further thought, I agree with you in principle. I just got spoiled by other languages that automatically overloaded + for string concatenation.&lt;BR/&gt;&lt;BR/&gt;As far as the get/set routines, I write them on my own for each of the properties in my classes. I'll look more into "property x: integer read Fx write Fx;".&lt;BR/&gt;&lt;BR/&gt;In any case, thanks for reading, and thanks for commenting!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5564677605472416635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/5564677605472416635'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215395820000#c5564677605472416635' title=''/><author><name>Branden Tanga</name><uri>http://www.blogger.com/profile/16583314183612055492</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06142249452057362126'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-1173693115280744111</id><published>2008-07-06T15:33:00.000-07:00</published><updated>2008-07-06T15:33:00.000-07:00</updated><title type='text'>ForEach is called "For x IN somearray/list/etc." i...</title><content type='html'>ForEach is called "For x IN somearray/list/etc." in Delphi. Check the help.&lt;BR/&gt;&lt;BR/&gt;CodeGear has had it as a design goal that your Delphi code should be able to compile in both Win32 and .NET.&lt;BR/&gt;This puts some limitations on what can be done with basic stuff like arrays etc.&lt;BR/&gt;Some like that feature, others do not. But sometimes you can't have the cake and eat it too.&lt;BR/&gt;&lt;BR/&gt;As to your dynamic/static issue I think that depends on how you pass the array.&lt;BR/&gt;&lt;BR/&gt;I think that you will find that most Delphi users are quite happy you cannot overload operators such as + and that basic types are not automatically converted to other types. Thats one of the main reasons I use Delphi myself. ShowMessage(IntToStr(SomeVar1 + SomeVar2)) leaves no room for misreading when the next guy has to change the code.&lt;BR/&gt;&lt;BR/&gt;I agree with the nested comments but have learned to live with it.&lt;BR/&gt;&lt;BR/&gt;If we are lucky we will get the same smart set/get stuff for properties in the next version. If not there is always:&lt;BR/&gt;  property x: integer read Fx write Fx;&lt;BR/&gt;followed by Ctrl-Alt-C to get the variable.&lt;BR/&gt;&lt;BR/&gt;Happy coding :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1173693115280744111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1173693115280744111'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215383580000#c1173693115280744111' title=''/><author><name>Lars</name><uri>http://www.blogger.com/profile/10586830351336788090</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6213675832373085044.post-1825602538777379113</id><published>2008-07-06T14:33:00.000-07:00</published><updated>2008-07-06T14:33:00.000-07:00</updated><title type='text'>"bring your api to a dll".. heheComparing Delphi (...</title><content type='html'>"bring your api to a dll".. hehe&lt;BR/&gt;Comparing Delphi (or object pascal) language with C# is silly. Delphi language born many years before C#. Read the newspapers please! :P&lt;BR/&gt;&lt;BR/&gt;You are so much VB guy. Thats the reason you dont get comfortable with Delphi and dont get how to work with VCL.&lt;BR/&gt;&lt;BR/&gt;BTW, why you do the switch? Why dont stay with VB? If you dont have the energy or the time or the motivation to know deep something before using, why start using knowing nothing about it?&lt;BR/&gt;&lt;BR/&gt;Have no sense. get a few books of marco cantu, read this, and then, just then start working with delphi.&lt;BR/&gt;&lt;BR/&gt;Is not as supposedto be? If buy and read 5 books of .NET, because i plan to switch some day. I suggest you read more.&lt;BR/&gt;&lt;BR/&gt;Best regards.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1825602538777379113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6213675832373085044/5994030462848804912/comments/default/1825602538777379113'/><link rel='alternate' type='text/html' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html?showComment=1215379980000#c1825602538777379113' title=''/><author><name>Donald Shimoda</name><uri>http://www.blogger.com/profile/17685517163467301145</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.beigehat.com/2008/07/some-observations-on-delphi-and.html' ref='tag:blogger.com,1999:blog-6213675832373085044.post-5994030462848804912' source='http://www.blogger.com/feeds/6213675832373085044/posts/default/5994030462848804912' type='text/html'/></entry></feed>