<?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-10106032.post1795234792364465362..comments</id><updated>2012-01-26T23:37:08.800Z</updated><category term='scripting'/><category term='DLR'/><category term='CLR'/><category term='xaml'/><category term='nexenta'/><category term='business'/><category term='visualized superstructure'/><category term='silverlight'/><category term='apple'/><category term='politics'/><category term='buy'/><category term='competition'/><category term='serialization'/><category term='printing'/><category term='RAII'/><category term='open source'/><category term='Tiburon'/><category term='bash'/><category term='CodeGen'/><category term='iterators'/><category term='acropolis'/><category term='C++'/><category term='dynamic typing'/><category term='Learning'/><category term='build'/><category term='ipod'/><category term='generics'/><category term='Delphi'/><category term='enumerators'/><category term='GC'/><category term='anonymous methods'/><category term='rich client'/><category term='solaris'/><category term='static typing'/><category term='itunes'/><category term='vista'/><category term='rant'/><category term='backup'/><category term='Erlang'/><title type='text'>Comments on Entropy Overload: An ugly alternative to interface to object casting...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.barrkel.com/feeds/1795234792364465362/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html'/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10106032.post-2885848111521947007</id><published>2011-05-17T22:12:10.305+01:00</published><updated>2011-05-17T22:12:10.305+01:00</updated><title type='text'>Anonymous - I wouldn&amp;#39;t fear, several EMBT peop...</title><content type='html'>Anonymous - I wouldn&amp;#39;t fear, several EMBT people follow DHB.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/2885848111521947007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/2885848111521947007'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1305666730305#c2885848111521947007' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-1439372783642157744</id><published>2011-05-17T21:51:54.362+01:00</published><updated>2011-05-17T21:51:54.362+01:00</updated><title type='text'>How can I notify Embarcadero of a source code leak...</title><content type='html'>How can I notify Embarcadero of a source code leak?&lt;br /&gt;&lt;br /&gt;http://delphihaters.blogspot.com/2011/05/tpc-source-code-leak.html</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/1439372783642157744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/1439372783642157744'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1305665514362#c1439372783642157744' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-67228232'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-6830032127439588897</id><published>2011-03-02T21:26:54.352Z</published><updated>2011-03-02T21:26:54.352Z</updated><title type='text'>In the component installer, which is now part of t...</title><content type='html'>In the component installer, which is now part of the XE IDE, I did it this way (sorry for the lack of indentation, but I found no way to format source code in comments):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;  TStub = packed record&lt;br /&gt;    case Byte of&lt;br /&gt;      0: (LongAdd: Byte;       // Must be $05&lt;br /&gt;          LongOffset: Integer);&lt;br /&gt;      1: (ShortAdd: Word;      // Must be $C083&lt;br /&gt;          ShortOffset: Shortint);&lt;br /&gt;  end;&lt;br /&gt;  PStub = ^TStub;&lt;br /&gt;  ...&lt;br /&gt;var&lt;br /&gt;  Stub: PStub;&lt;br /&gt;  Configs: IOTAProjectOptionsConfigurations;&lt;br /&gt;  ...&lt;br /&gt;begin&lt;br /&gt;  ...&lt;br /&gt;  Stub := PPInterface(Configs)^^.Method;&lt;br /&gt;  if Stub^.LongAdd = $05 then&lt;br /&gt;    Offset := Stub^.LongOffset&lt;br /&gt;  else if Stub^.ShortAdd = $C083 then&lt;br /&gt;    Offset := Stub^.ShortOffset&lt;br /&gt;  else&lt;br /&gt;  begin&lt;br /&gt;    MessageDlg(SProjectOptionsNotFound, mtError, [mbOK], 0);&lt;br /&gt;    Exit;&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/6830032127439588897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/6830032127439588897'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1299101214352#c6830032127439588897' title=''/><author><name>Rudy Velthuis</name><uri>http://rvelthuis.de</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-594365951'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-5656580101675951570</id><published>2011-03-02T14:02:52.315Z</published><updated>2011-03-02T14:02:52.315Z</updated><title type='text'>Don&amp;#39;t you love the first hit on the http://www...</title><content type='html'>Don&amp;#39;t you love the first hit on the http://www.google.com/search?q=delphi+interface+to+object search ;-)&lt;br /&gt;&lt;br /&gt;The cool thing is that the research that Hallvard Vassbotn did in 2004 shows how stable the interface implementation has been over the years.&lt;br /&gt;&lt;br /&gt;But I do like the way that &amp;#39;is&amp;#39; and &amp;#39;as&amp;#39; now just &amp;#39;work&amp;#39;.&lt;br /&gt;&lt;br /&gt;--jeroen</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/5656580101675951570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/5656580101675951570'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1299074572315#c5656580101675951570' title=''/><author><name>wiert</name><uri>http://www.blogger.com/profile/04244706419710554421</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-704355793'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-1885019115983927409</id><published>2011-03-02T06:32:56.078Z</published><updated>2011-03-02T06:32:56.078Z</updated><title type='text'>Hi Barry,
So an other idea. 

For ensuring safety ...</title><content type='html'>Hi Barry,&lt;br /&gt;So an other idea. &lt;br /&gt;&lt;br /&gt;For ensuring safety you may use a ability of yours :) (Delphi) Memory Manager. &lt;br /&gt;Just check the interface reference for to be in MM allocated range. &lt;br /&gt;So if in range the the first byte of allocated block is the the object instance. Of course this true for normally allocated objects via standart Newintance. &lt;br /&gt;&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;As for other much rarely case for example in the case of overrided Newintance  may be checking the stub signature is the best way.&lt;br /&gt;&lt;br /&gt;Sergey.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/1885019115983927409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/1885019115983927409'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1299047576078#c1885019115983927409' title=''/><author><name>Sergey Antonov aka oxffff</name><uri>http://www.blogger.com/profile/10045102019512764602</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01225526263794169742'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://1.bp.blogspot.com/_fwEi4kRA5N0/Sw2aTLuVtLI/AAAAAAAAAAM/JeNjgYggmJM/S220/avatar.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1564610523'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-7009285336165457862</id><published>2011-03-01T17:08:56.192Z</published><updated>2011-03-01T17:08:56.192Z</updated><title type='text'>Yes.</title><content type='html'>Yes.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/7009285336165457862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/7009285336165457862'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1298999336192#c7009285336165457862' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-4937525387212142928</id><published>2011-03-01T17:07:20.429Z</published><updated>2011-03-01T17:07:20.429Z</updated><title type='text'>Barry, does the &amp;quot;is&amp;quot; operator also work ...</title><content type='html'>Barry, does the &amp;quot;is&amp;quot; operator also work for this? i.e. can I do this?&lt;br /&gt;&lt;br /&gt;var iObj: IInterface;&lt;br /&gt;...&lt;br /&gt;if IObj is TObject then with IObj as TObject</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/4937525387212142928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/4937525387212142928'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1298999240429#c4937525387212142928' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-629410898'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-4568288320729145421</id><published>2011-03-01T15:33:24.571Z</published><updated>2011-03-01T15:33:24.571Z</updated><title type='text'>Delphi 2010, I believe.</title><content type='html'>Delphi 2010, I believe.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/4568288320729145421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/4568288320729145421'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1298993604571#c4568288320729145421' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-8865568004350683955</id><published>2011-03-01T15:28:36.221Z</published><updated>2011-03-01T15:28:36.221Z</updated><title type='text'>Hi Barry, 

Out of curiosity: which recent version...</title><content type='html'>Hi Barry, &lt;br /&gt;&lt;br /&gt;Out of curiosity: which recent versions of Delphi enabled the cast behaviour with &amp;quot;as&amp;quot;?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/8865568004350683955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/1795234792364465362/comments/default/8865568004350683955'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html?showComment=1298993316221#c8865568004350683955' title=''/><author><name>Jamie I</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2011/03/ugly-alternative-to-interface-to-object.html' ref='tag:blogger.com,1999:blog-10106032.post-1795234792364465362' source='http://www.blogger.com/feeds/10106032/posts/default/1795234792364465362' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-677903332'/></entry></feed>
