<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>delphi Archives - Dragonsoft Technology View</title>
	<atom:link href="https://blog.dragonsoft.us/tag/delphi/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.dragonsoft.us/tag/delphi/</link>
	<description>Talk about Technologies, Software Architecture and Management</description>
	<lastBuildDate>Fri, 18 Dec 2009 19:17:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.dragonsoft.us/wp-content/uploads/2022/04/logo-main-bw-150x150.png</url>
	<title>delphi Archives - Dragonsoft Technology View</title>
	<link>https://blog.dragonsoft.us/tag/delphi/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">2577970</site>	<item>
		<title>Assert is your friend&#8230; not an end-user&#8217;s</title>
		<link>https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/</link>
					<comments>https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 15 Jan 2009 22:24:22 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Fun stuff with C#]]></category>
		<category><![CDATA[.net 3.5]]></category>
		<category><![CDATA[assert]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[debug.assert]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[trace.assert]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=777</guid>

					<description><![CDATA[<p>As a long time Delphi and C# programmer one become used to some features of the language and may not go deep into &#8220;philosophical&#8221; thinking about such features. This often happen with Asserts&#8230; What is Assert or Assertion? By its definition Assert: state categorically affirm: to declare or affirm solemnly<a class="moretag" href="https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/">Assert is your friend&#8230; not an end-user&#8217;s</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As a long time Delphi and C# programmer one become used to some features of the language and may not go deep into &#8220;philosophical&#8221; thinking about such features. This often happen with <strong>Asserts</strong>&#8230;</p>
<h3>What is Assert or Assertion?</h3>
<p>By its definition <strong>Assert</strong>:</p>
<ul>
<li>state categorically</li>
<li>affirm: to declare or affirm solemnly and formally as true</li>
<li>insist: assert to be true</li>
<li>In Computing (<a href="http://en.wikipedia.org/wiki/Assert" target="_blank">wiki</a>): &#8220;an <strong>assert</strong> is a predicate (i.e., a true–false statement) placed in a program to indicate that the developer <em>thinks</em> that the predicate is always true at that place&#8221;</li>
</ul>
<p>In general, using <strong>assert</strong> in the code proven to be useful in many situations because it &#8220;<a href="http://msdn.microsoft.com/en-us/library/aa326827.aspx" target="_blank">checks for a condition and outputs the call stack if the condition is <strong>false</strong></a>&#8221; and it could help to debug some strange situations in the code.</p>
<h3><a href="http://www.codeproject.com/KB/cpp/assertisyourfriend.aspx" target="_blank">Assert is your friend</a></h3>
<p>This method is for programmers to use. But what happen often when something is convenient, it started to be used excessively. Why it is happening?</p>
<p>Let&#8217;s look at the declaration of <strong>Assert</strong> in C# (3.x). There are two versions of the <strong>Assert()</strong>: <a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debug.assert.aspx" target="_blank"><strong>Debug.Assert()</strong></a> and <a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.assert.aspx" target="_blank"><strong>Trace.Assert()</strong></a>, both in <strong>System.Diagnostics </strong>namespace.</p>
<pre class="brush: csharp; title: ; notranslate">
// Checks for a condition and outputs the call stack
// if the condition is false

&#x5B;ConditionalAttribute(&quot;TRACE&quot;)]
public static void Assert(bool condition)

&#x5B;ConditionalAttribute(&quot;TRACE&quot;)]
public static void Assert(bool condition, string message)

&#x5B;ConditionalAttribute(&quot;DEBUG&quot;)]
public static void Assert(bool condition)

&#x5B;ConditionalAttribute(&quot;DEBUG&quot;)]
public static void Assert(bool condition, string message)</pre>
<p>As we can see from above code, Assert is to be used for <span style="text-decoration: underline;">Testing</span> and <span style="text-decoration: underline;">Debugging</span> and therefore should not be used as a way to present any information to the <strong>end-user.</strong></p>
<h3>Helping yourself</h3>
<p>As useful as it seems, even then Assert infrastructure may not be used to full extend. In the sample declarations above we can see that logic can be invoked with and without providing any additional information.<br />
Imagine how useful is a message &#8220;Project raised an Assert in line X&#8221; compare to &#8220;Project raised an Assert with the Message in line X&#8221;.<br />
First option gives you idea where something failed, where second actually tells you what went wrongand where. Let&#8217;s use power of the tool-set and provide ourselves with useful information.</p>
<h3>Assert is NOT for an end-user</h3>
<p>I was asked recently (this seems to be a ongoing discussion) &#8211; &#8220;Why a programmer should not be using asserts as a regular approach in code conditions validation even when it comes to a production code?&#8221;</p>
<p>By default, Assert would show a message box with some information and the current Call Stack. This information, while being helpful to the developer, would not tell much to the user.</p>
<p>With custom <span><a id="ctl00_rs1_mainContentContainer_ctl73" onclick="function onclick() { function onclick() { function onclick() { function onclick() { Track('ctl00_rs1_mainContentContainer_cpe285485_c|ctl00_rs1_mainContentContainer_ctl73',this); } } } }" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener.aspx"><span style="color: #0033cc;">TraceListener</span></a></span> introduced, message can be hidden from the user and information could be stored, but it is not how it should be used by definition.</p>
<p>If information is expected to be presented to the user in any form, it could be achieved in a form not an exceptional, intended for debugging, situation, but by using regular methods: message box, application log, Windows event log, etc.<br />
Even in the case of component development it is desired to use exceptions (<strong>raise/throw</strong>) to &#8220;bubble&#8221; proper message to the error handling layer.</p>
<blockquote><p>The <span><span class="input">throw</span></span> statement is used to signal the occurrence of an anomalous situation (exception) during the program execution.</p></blockquote>
<h3>Assert is a conditional logic</h3>
<p>Last, final and probably major concern here is that in Release environment Debug and even Trace functionality would be disabled and therefore, any code/logic which depend on Assert() would be suppressed and all the nice validations became worthless (see declaration above)&#8230; and Access Violation errors starting pop up unexpectedly.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/">Assert is your friend&#8230; not an end-user&#8217;s</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2009/01/15/assert-is-your-friend-not-end-users/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">777</post-id>	</item>
		<item>
		<title>Delphi, methods and default values. Convenience or contract enforcement?</title>
		<link>https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/</link>
					<comments>https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 28 Aug 2008 14:28:50 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[default parameter]]></category>
		<category><![CDATA[default value]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[dry principle]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=324</guid>

					<description><![CDATA[<p>Delphi, methods and default values. Being somewhat unique in methods declaration for the classes, Delphi requires you to have proper method parameters declaration, but: You do not have to have any default values for the parameters being propagated into implementation section for the method. And you do not have to have any parameters<a class="moretag" href="https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/">Delphi, methods and default values. Convenience or contract enforcement?</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Delphi, methods and default values.</p>
<p>Being somewhat unique in methods declaration for the classes, Delphi requires you to have proper method parameters declaration, but:</p>
<ol>
<li>You do not have to have any default values for the parameters being propagated into implementation section for the method.</li>
<li>And you do not have to have any parameters being specified in implementation section at all.</li>
<li>If your class implements an interface, then while order and type of parameters remain unchanged for the interface method implemented, compiler would not not even detect it.</li>
<li>When declaring the method and then using code complete feature of the IDE, stub generated would have all parameters but no default values.</li>
<li>Declaration of the parameters could be &#8220;optimized&#8221; by changing the way they are grouped if they are of the same type. And sync is not enforced between declaration and implementation.</li>
</ol>
<p>Convenient. Nice. Easy.</p>
<p>Again, it is convenient since it does not force you to propagate your changes between two if you are to change your default values.</p>
<p>Is default value good or evil?</p>
<p>Well, Microsoft saying <a href="http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx" target="_blank">it is specific to an implementation of the language</a> (C#) and suggests to use overloads instead. Yes, it can be done, but defaults were introduced for a reason. And, in fact, some compilers, even Delphi, would be confused with overloaded declaration if there is a slight chance of mixing two.</p>
<p><span id="more-324"></span></p>
<p>Back in 2005, <a href="http://forums.msdn.microsoft.com/en-US/netfxbcl/thread/e276babe-248b-4e36-b8d0-1e2796d4954a/" target="_blank">dflat</a> wrote:</p>
<blockquote><p>Disadvantage:<br />
1. A bit tedious to call, because even if you don&#8217;t put any actual parameters, you have to write down all the types.</p>
<p>Advantages:<br />
1. Unlike C++ default params, this allows all combinations<br />
2. No signature conflict or ambiguity. The whole signature is matched when calling a method with default parameters, because type must be specified if the parameter is missing.<br />
3. No run-time overhead, because everything can be determined at compile time.</p>
<p>Feasibility. I don&#8217;t think it&#8217;s difficult to implement (in later version of  C#) because:<br />
1. No additional key word is introduced. &#8220;default&#8221; is already a key word in C#<br />
2. No ambiguity. It doesn&#8217;t conflict with any existing C# language semantics</p></blockquote>
<p>I may sound old fashioned, but I prefer propagate declaration of the method into implementation, because:</p>
<ol>
<li>if for any reason you have to move things around the code, it is convenient to be able grab implemtation of the methoid and easily reusing it in declaration of another class.</li>
<li>while reading the code, be able to see exact calling contract for the function you are investigating without a need to jump between declaration and implemtation.</li>
<li>also having it in sync, force you to review the code when any default values are changed and if you are using something like XMLDoc/JavaDoc/PasDoc, compiler will force you review your method documentation.</li>
</ol>
<p>Yes, it &#8220;breaks&#8221; a &#8220;<a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself" target="_self">Dry code</a>&#8221; principle. But it is not more of &#8220;dryness&#8221; with that approach then not having any parameters in implemtation section of the method. And while it &#8220;polutes&#8221; the code, it adds more self-documenting and readability to it.</p>
<p>What are yours points &#8220;for&#8221; and &#8220;against&#8221; default parameters and use of them?</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/">Delphi, methods and default values. Convenience or contract enforcement?</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/08/28/delphi-methods-and-default-values-convenience-or-contract-enforcement/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">324</post-id>	</item>
		<item>
		<title>Was: Delphi in the workgroup</title>
		<link>https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/</link>
					<comments>https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Tue, 12 Aug 2008 21:16:31 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[development infrastructure]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[workgroup environment]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=280</guid>

					<description><![CDATA[<p>In his post today, Marshall Fryman discsusses problems with shared development environment or workgroup development. Yes, it could be a complex problem which is rarelly addressed. Note. Even though we are talking about Delphi here, it is really could be applied to any development environment. Let look at the problem closer. Problem You<a class="moretag" href="https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/">Was: Delphi in the workgroup</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In <a href="http://ruminatedrumblings.blogspot.com/2008/08/delphi-in-workgroup.html" target="_blank"><span style="color: #800080;">his post</span></a> today, Marshall Fryman discsusses problems with shared development environment or workgroup development. Yes, it could be a complex problem which is rarelly addressed.</p>
<p>Note. Even though we are talking about Delphi here, it is really could be applied to any development environment.</p>
<p>Let look at the problem closer.</p>
<h3>Problem</h3>
<p>You have development environment with over dozen of development stations. You have similar development environment: versions of development tools used, locations, components. How to do easy update/upgrade in this environment and keep it up-to-date?</p>
<h3>Solutions</h3>
<h3>1. Virtualization</h3>
<p>My vote goes for virtualization &#8211; choose from VMWare, Microsoft VirtualPC or other solutions.<br />
Then create base image which everyone would share, change your settings that anything which is user specific goes to his/her local drive instead of virtual image space. Yes, you would have to have some sort of unification, but it is true for any development environment nowadays.</p>
<p>If you go with Server editions of such products then it could be even easier since some of them could allow you maintain your own sessions without affecting main image.</p>
<p>Then make it through your virtual environment has a priority over your hardware so if you are in the development mode you would not really suffer penalty of virtualization. With new versions of Windows coming, I think it would become common and internally supported by default. For now you would have to do some maintenance.</p>
<h3>2. &#8220;Virtualization&#8221;</h3>
<p>The same name, but a way to achieve it is different. Instead of virtualizing a whole Windows environment, you do that for your Delphi environment only.</p>
<p>What does Delphi environment consists of?</p>
<ul type="disc">
<li><strong>Delphi installation</strong>. We have to assume that everyone is on the same version. Best to have it in the same location, but it is not really necessary.</li>
<li><strong>Project source code</strong>. If you use any change management system, then you most likely already have everything in one place, and in the same folder structure. Projects are open from similar locations and exe/dcu files created in the same designated areas.</li>
<li><strong>Components, wizards</strong>. That could be a problem and this is where you really put &#8220;<em>virtualization</em>&#8221; in place.</li>
</ul>
<p>Let&#8217;s think about it for a second. What does Delphi have to have to properly use custom components?</p>
<p><strong>BPL, DCP, DCU, DFM/RES files location! </strong>IDE really does not care where code was compiled, but rather that components are properly registered and place to find all required files.</p>
<p>Keeping that in mind, let&#8217;s create proper infrastructure:</p>
<ol>
<li>Put everything in your source control system and have it in the same places on all machines. You could have BPL/DCP in the same folder with DCU files or in different locations. Also folder with DCU files should include all necessary DFM/RES files.</li>
<li>In Delphi, add your new location for DCU to &#8220;<strong>Library Path</strong>&#8221; in IDE options, and your BPL/DCP location to &#8220;<strong>BPL/DCP output directory</strong>&#8220;.</li>
<li>Do not add source location to a &#8220;<strong>Browsing path</strong>&#8220;, you do not want THIS shared code to be recompiled on individual machines. It will also prevent some &#8220;strange&#8221; errors when DCUs start to &#8220;walk around&#8221;.</li>
<li>Then install all necessary Design time packages and you done.</li>
</ol>
<p>How would upgrade process work?</p>
<p>Now it is easy. On your master computer update components, recompile if necessary, then check them into your source control system. Then, when necessary, before launching Delphi IDE your developers would get latest form depository, which will update all components and proper DCU/BPL/DCP.</p>
<p>It is rare when new components has to be reinstalled in Delphi since file/BPL structure is usually remain the same. Even when such maintenance is required it can be accomplished with simple .REG file deployed and applied to all machines. But it is rare situation.</p>
<p>Result &#8211; you now have fully maintainable, distributed development infrastructure.</p>
<h3>Conclusion</h3>
<p>Both scenario are result of my own experience in resolving an issue of handling workgroup environment and have been used in real life.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/">Was: Delphi in the workgroup</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/08/12/was-delphi-in-the-workgroup/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">280</post-id>	</item>
		<item>
		<title>Delphi 2009 beta: Installation improvements</title>
		<link>https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/</link>
					<comments>https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Tue, 12 Aug 2008 12:31:25 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[delphi 2009]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[installaware]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[tiburón]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=273</guid>

					<description><![CDATA[<p>Over the span of few weeks I have had &#8220;hot&#8221; conversation in public NG about speed of installation and that R&#38;D team should do something about it. Good news For people who worried about future experience with installation of the Delphi 2009 &#8211; it is fast (or faster, since it<a class="moretag" href="https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/">Delphi 2009 beta: Installation improvements</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Over the span of few weeks I have had &#8220;hot&#8221; conversation in public NG about speed of installation and that R&amp;D team should do something about it.</p>
<h3>Good news</h3>
<p>For people who worried about future experience with installation of the Delphi 2009 &#8211; it is fast (or faster, since it is always comes to personal opinion). I have done several &#8220;fresh&#8221; installs, along with &#8220;on-top&#8221; installations. It did took me less then I spend downloading it over my 3Mb connection. Keep in mind a size and compare it to Visual Studio installation time and it start to look very good.</p>
<p>Not to be along with that statement there is other people&#8217;s opinion &#8211; <a href="http://www.flickdotnet.de/index.php/2008/08/delphi-2009-beta-installation-speed-has-been-improved-a-lot/" target="_blank">Holger Flick posted last Saturday about his experience</a>.</p>
<h3>History</h3>
<p>For many years, Delphi installation was created and maintained using InstallShield product line. It was based on it and IS Express edition was included in distribution for developers to use it. I am not sure how many people have actually used it, but it was there and it was free. Back in 2006</p>
<blockquote><p>Newly formed CodeGear(TM) chooses InstallAware for delivering the newest versions of Delphi®, Delphi® for .NET, C++ Builder®, and C# Builder® tools. InstallAware Express is now bundled with CodeGear’s developer products as the installer tool of choice.</p></blockquote>
<p>Let&#8217;s look at the possible reasons:</p>
<blockquote><p>“Using InstallAware’s MSIcode, we have drastically reduced the need for creating custom plug-ins,” says Allen Bauer, Chief Scientist at CodeGear. “Our InstallAware setup dynamically defines the features and files to be installed. Instead of building, maintaining, and shipping separate installers for all the languages, IDEs, and product editions that we offer, we are now able to build and deliver a single install image. This has dramatically reduced our integration workload along with reducing our costs.”</p>
<p>“Electronic software delivery (ESD) will be playing a larger role in the way we deliver our products going forward. InstallAware will be powering our new ESD functionality in the Delphi and C++Builder products,” adds Michael Swindell, Vice President of Products at CodeGear. “We will be able to increase Internet delivery flexibility and performance providing customers with instant access to features based on electronic software purchases. Our goal is to make the user experience for both trial evaluations and electronic purchases as simple and flexible as possible. We evaluated a variety of installation and delivery technologies and InstallAware had the right features, performance, and technology for our requirements.”</p></blockquote>
<h3>Reality check</h3>
<p>After initial release everyone had &#8220;suffer consequences&#8221;. Setup was much slower, updates could take substantial time to be applied. As a result, there was up until recently big &#8220;roar&#8221; to &#8220;toss&#8221; IA and return to &#8220;good old days&#8221;.</p>
<h3>Alternatives</h3>
<p>Aside from choosing to use batch file/XCOPY setup mode (can you imagine that this is still preferred way to deploy ASP applications?) let&#8217;s look at the alternatives for InstallAware (MSI).</p>
<ul>
<li><a href="http://www.acresso.com/" target="_blank">InstallShield</a>: recently acquired by Acresso. This is a target &#8211; &#8220;If your software targets Windows, InstallShield® is your solution.&#8221; &#8211; MSI. Long history with Borland/CodeGear and marketing/pricing/features may played the role in the decision of looking elsewhere for new deployment solutions.</li>
<li><a href="http://www.acresso.com/products/installation/installanywhere.htm" target="_blank">InstallAnywhere</a> &#8211; just to mention here and it is a product from the same company. In general it may be better positioned since supports not just Windows bit other platforms as well. Not a mainstream product for some time, but what could happen is that it will eventually merge with InstallShield taking best from both. At the time (2006) probably was not even considered to be a choice.</li>
<li><a href="http://www.wise.com/Products/Installations.aspx" target="_blank">Wise installation Studio</a> by Symantec &#8211; again Windows platform. &#8211; MSI and WinInstall. Product line had struggled for many years, was very non-trivial in maintenance and even though it did have potential, uncertainty of it existence at the time may played the role of not going with it.</li>
<li><a href="http://www.jrsoftware.org/isinfo.php" target="_blank">InnoSetup</a> &#8211; great product, native to Pascal/Delphi developers with its Pascal-like scripting language. But even though it is a great product, it may luck of some Enterprise features CodeGear was looking at the time highlighted above. Would it be faster? For sure. Would it lock the deployment to some of the &#8220;legacy&#8221; ways of doing so? Most likely. &#8211; WinInstall</li>
</ul>
<h3>Choice</h3>
<p>Some of you will disagree with me on the need of standard ways of deployment, ability to automatically be certified for any future versions of Windows (Vista certification at the moment), common UI elements and interfaces&#8230; But reality is that it is that it is needed. User/System administrator/Company should be comfortable and familiar with the product deployment strategies and be able to do the same &#8220;that those other setups can do&#8221;. InstallAware gives just that. Yes, there is some hype in the air as it is with any product on the market, and yes there is a learning curve. Mind though, learning curve here more related to MSI technology itself, then to InstallAware implementation. Team has to have knowledge, desire, and  budget to properly implement requirements regardless of the platform they are using.</p>
<p>It my strong believe that what we have seen over last few years was a story how higher management decisions affect development rather then technology problems. Yes, I could be wrong, but after over a decade working with different deployment solutions, I think that we are in no worse situation with InstallAware then with any other product. With new management direction at CodeGear it may change, but improvements shown in latest installations for Delphi 2009 beta may finally let story rest in peace.</p>
<h3>Update (Aug 28, 2008)</h3>
<p>Last night I have had a chance to compare RAD Studio 2007 setup speed and RAD Studio 2009 speed once again. Impressive. 1 : 10 ratio. RAD Studio 2009 installs much faster.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/">Delphi 2009 beta: Installation improvements</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/08/12/delphi-2009-beta-installation-improvements/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">273</post-id>	</item>
		<item>
		<title>From Inprise to Tiburón. Fall and rise of development tools.</title>
		<link>https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/</link>
					<comments>https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 24 Jul 2008 12:21:32 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[codegear]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[delphi 2009]]></category>
		<category><![CDATA[tiburón]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=246</guid>

					<description><![CDATA[<p>First, if you were looking for information about Hyndai&#8217;s sporty compact, it is not about it. CodeGear joined Embarcadero and finally is free to do what they suppose to do for many years now &#8211; develop the software for developers and not some few of many tools for IT management (there<a class="moretag" href="https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/">From Inprise to Tiburón. Fall and rise of development tools.</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>First, if you were looking for information about Hyndai&#8217;s sporty <a href="http://www.hyundaiusa.com/vehicle/tiburon/tiburon.aspx" target="_blank">compact</a>, it is not about it.</p>
<p>CodeGear joined Embarcadero and finally is free to do what they suppose to do for many years now &#8211; develop the software for developers and not some few of many tools for IT management (there would be no problem there in general until development tools line start to degrade).</p>
<p><a href="http://www.zdnetasia.com/techguide/webdev/0,39044903,62043890,00.htm" target="_blank">CodeGear extends the Borland legacy</a>, but not in the way it was done last 8 years since the era of Inprise ALM movement.</p>
<p>Back in 2000, Dale L. Fuller, then president and CEO of Borland, said about going back to the roots and renaming from Inprise to Borland:</p>
<blockquote><p>&#8220;The Borland name has always been synonymous with superior technology,&#8221; &#8220;We recognize the influence the Borland name has on customers, and we know this decision will strengthen our identification within our target markets.  The Borland name symbolizes a new start for the company, which has proven itself over the past eighteen months with two consecutive quarters of profitability.  As we continue our turnaround, the name change signifies our renewed commitment to customers, stockholders, employees and analysts.  Borland has always been well known for its ability to simplify complex technologies and the new name signals a return to the commitment to deliver superior technology that helps speed and ease the software development lifecycle.&#8221;</p></blockquote>
<p>Promiss which never had a chance to be furfilled. &#8220;Software development lifecycle&#8221; took over the &#8220;developers, developers, developers&#8221; (<a href="http://www.youtube.com/watch?v=8zEQhhaJsU4" target="_blank">Microsoft (c)</a>, this guy can motivate) moto which we used to associate Borland&#8217;s name with. It took long <a href="http://en.wikipedia.org/wiki/Borland" target="_blank">10 years</a> to fully realize potentials of the development tools market.</p>
<p>Now with CodeGear finally free form &#8220;Inprise&#8221; legacy (it is sad that we have lost good old name &#8220;Borland&#8221; in &#8220;Delphi&#8221;, but may be it is for the best.) we all looking forward to see a comeback of Delphi development platform, both as a language and as IDE, to get back its rightful place among modern development platforms.</p>
<p>We have a great tool which just need to return to the day light.</p>
<p>Do you want to know more about a new version? <a href="http://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/" target="_self">Read what people are saying</a> about a new version, codename Tiburón. If you are not currently using it, give it a try. See what Delphi name was about for years.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/">From Inprise to Tiburón. Fall and rise of development tools.</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/07/24/from-inprise-to-tiburon/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">246</post-id>	</item>
		<item>
		<title>Tiburón: Why Unicode IS important</title>
		<link>https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/</link>
					<comments>https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Mon, 21 Jul 2008 13:22:08 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[delphi 2009]]></category>
		<category><![CDATA[tiburón]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=229</guid>

					<description><![CDATA[<p>There is a hot discussion brewing in public about importance of the Unicode support in upcoming version of Delphi (Tiburón). There are people who do not see it as something to spend time on in current Delphi situation and some who disagree with that. Did you notice that word &#8220;Tiburón&#8221;<a class="moretag" href="https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/">Tiburón: Why Unicode IS important</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>There is a hot discussion brewing in public about importance of the Unicode support in upcoming version of Delphi (Tiburón). There are people who do not see it as something to spend time on in current Delphi situation and some who disagree with that.</p>
<p>Did you notice that word &#8220;Tiburón&#8221; is in Unicode?</p>
<p>Let&#8217;s come back in time December 2002 &#8211; Delphi VCL Controls for Win32 should support unicode &#8211; 4.89 rating, 359 votes. One of first from the dozens of QC reports asking to add Unicode into Delphi. Do not tell me it is not important for many people.</p>
<p>Is it too little too late? Could as well be, but it is better to finally have it and enjoy a feature which is now mandatory for any major development platform.</p>
<p>Keep in mind that Delphi (itself) was already &#8220;unicoded&#8221; storing string resources and source code as Unicode for some few versions. Full VCL/RTL conversion had never received much of the attention from upper management allowing Dev team actually work on the feature. Everything was about ALM those days. This time around it is different. Today Unicode one of the features which are critical for Delphi survival.</p>
<p>Yes, for many years we have learned how to deal with no support for Unicode in Delphi, but it is way around things, and not a solution. How many times was I asked &#8211; &#8220;why Delphi, being a modern language, still does not support Unicode?&#8221;. Well, I have had no reasonable answer.</p>
<p>Let look at the feature in question. Would it be important for US or even EU markets?</p>
<p>Yes, if you write an application which is used outside of your company&#8217;s building.<br />
No, if you are running a home-only applications.</p>
<p>Let&#8217;s not go into discussion of dancing around the issue instead of solving the problem. Delphi applications do not exist by themselves, there are plenty of 3rd party API, data, code you need to interact and if they are in Unicode and your code cannot be native to the data, then you will encounter many things which you otherwise would not see in your &#8220;home&#8221; environment. Windows NT, XP, Vista has Unicode support. Being a programmer means one has to follow the main stream, not go against it. Otherwise you look as a white crow.</p>
<p>Now let&#8217;s come back to Tiburón. As a component vendor and Delphi programmer for many years, I would worry about such drastic change and impact it might have. But after having &#8220;converted&#8221; my code to have Unicode support by simply opening my projects in a new Delphi and recompiling gives me an assurance that work is done well by the CodeGear team.</p>
<p>Yes, let&#8217;s not idealize the situation, some modifications could be required, especially when Windows API functions are used. But even in this case, you most likely would get informed about the problem on the time of the compile, since you would be asked to adjust a few places in your code to use your string resources as Wide or ANSI strings specifically. Otherwise, your code would just run.</p>
<p>Did it worth the time and resources and is it a major thing for the release? YES. Remember it is a lot of work to make sure that everything is converted properly and working considering that there is a lot of dependencies between VCL code and underlying Windows API.</p>
<p>PS. And do not forget that Tiburón is not only about Unicode. Read all information about it as <a href="http://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/" target="_self">CG team is talking about new features</a>.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/">Tiburón: Why Unicode IS important</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/07/21/tiburon-why-unicode-is-important/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">229</post-id>	</item>
		<item>
		<title>So it began: Tiburón in the news &#8211; July 25, 2008</title>
		<link>https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/</link>
					<comments>https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Mon, 21 Jul 2008 12:00:33 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[codegear]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[delphi 2009]]></category>
		<category><![CDATA[tiburón]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=217</guid>

					<description><![CDATA[<p>Now we finally can talk about a new version of RAD Studio &#8211; Tiburón. Did you miss some of the posts? Check the list below for most comprehensive list of posts about upcomming Tiburon release. by David I Tiburon’s LoadFromFile and SaveToFile for Unicode characters Unicode database support in Tiburon for Delphi<a class="moretag" href="https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/">So it began: Tiburón in the news &#8211; July 25, 2008</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Now we finally can talk about a new version of RAD Studio &#8211; Tiburón.</p>
<p>Did you miss some of the posts? Check the list below for most comprehensive list of posts about upcomming Tiburon release.</p>
<ul>
<li>by <a href="http://blogs.codegear.com/davidi/" target="_blank">David I</a>
<ul>
<li><a href="http://blogs.codegear.com/davidi/2008/07/15/38898" target="_blank">Tiburon’s LoadFromFile and SaveToFile for Unicode characters</a></li>
<li><a href="http://blogs.codegear.com/davidi/2008/07/15/38895" target="_blank">Unicode database support in Tiburon for Delphi and C++</a></li>
<li><a href="http://blogs.codegear.com/davidi/2008/07/17/38902" target="_blank">Tiburon/C++Builder &#8211; soon with live UML modeling</a></li>
<li><a href="http://blogs.codegear.com/davidi/2008/07/21/38911" target="_blank">Boost support in Tiburon C++Builder 2009</a></li>
<li><a href="http://blogs.codegear.com/davidi/2008/07/23/38915" target="_blank">Tiburon &#8211; new language features for Delphi 2009</a></li>
</ul>
</li>
<li>by <a href="http://blogs.codegear.com/nickhodges" target="_blank">Nick Hodges</a>
<ul>
<li><a href="http://blogs.codegear.com/nickhodges/2008/07/15/39066" target="_blank">Here Comes Tiburon</a></li>
<li><a href="http://blogs.codegear.com/nickhodges/2008/07/17/39073" target="_blank">Don’t Get Caught with Boxes</a> &#8211; introduction to Unicode support</li>
<li><a href="http://blogs.codegear.com/nickhodges/2008/07/22/39079" target="_blank">New Language Construct for Exit</a></li>
<li><a href="http://blogs.codegear.com/nickhodges/2008/07/24/39083" target="_blank">Tiburon Screenshot</a></li>
</ul>
</li>
<li>by <a href="http://blogs.codegear.com/abaue" target="_blank">Allen Bauer</a>
<ul>
<li><a href="http://blogs.codegear.com/abauer/2008/07/16/38864" target="_blank">Tiburón &#8211; String Theory</a></li>
</ul>
</li>
<li>from Chris Bensen&#8217;s <a href="http://chrisbensen.blogspot.com/search/label/peek" target="_blank">Tiburón Sneak Peek</a>
<ul>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-registered-type.html" target="_blank">Tiburón Sneak Peek: Registered Type Libraries</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-com-wizards.html" target="_blank">Tiburon Sneak Peek: Com Wizards</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-tool-palette.html" target="_blank">Tiburon Sneak Peek: Tool Palette</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-cbuilder-modeling.html">Tiburon Sneak Peek: C++builder Modeling</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-new-component-wizard.html" target="_blank">Tiburón Sneak Peek: New Component Wizard</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-import-component.html" target="_blank">Tiburón Sneak Peek: Import Component Wizard</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-com_23.html" target="_blank">Tiburón Sneak Peek: COM</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-debugger.html" target="_blank">Tiburón Sneak Peek: Debugger</a></li>
<li><a href="http://chrisbensen.blogspot.com/2008/07/tiburn-sneak-peek-project-options.html" target="_blank">Tiburón Sneak Peek: Project Options</a></li>
</ul>
</li>
<li>by <a href="http://blogs.codegear.com/ao/" target="_blank">Anders Ohlsson</a>
<ul>
<li><a href="http://dn.codegear.com/article/38349" target="_blank">Some new and enhanced components coming in Tiburon</a></li>
<li><a href="http://blogs.codegear.com/ao/2008/07/16/38939" target="_blank">TDUG Tiburon Preview</a></li>
</ul>
</li>
<li>by <a href="http://blogs.codegear.com/andreanolanusse/" target="_blank">Andreano Lanusse</a>
<ul>
<li><a href="http://blogs.codegear.com/andreanolanusse/2008/07/17/tiburon-anonymous-methods/" target="_blank">Tiburon &#8211; Anonymous Methods</a></li>
<li><a href="http://blogs.codegear.com/andreanolanusse/2008/07/21/tiburon-more-about-datasnap/" target="_blank">Tiburon &#8211; more about DataSnap</a></li>
<li><a href="http://blogs.codegear.com/andreanolanusse/2008/07/24/tiburon-building-strings-with-tstringbuilder/" target="_blank">Tiburon &#8211; Building strings with TStringBuilder</a></li>
</ul>
</li>
<li>by <a href="http://blogs.codegear.com/steveshaughnessy" target="_blank">Steve Shaughnessy</a>
<ul>
<li><a rel="bookmark" href="http://blogs.codegear.com/steveshaughnessy/2008/07/20/38912">Tiburon DataSnap enhancements</a></li>
</ul>
</li>
<li>by Daniel Magin
<ul>
<li><a href="http://dmagin.wordpress.com/2008/07/17/tiburon-vcl-db-unicode-application-with-interbase-2007/" target="_blank">Tiburon: VCL DB Unicode Application with InterBase 2007</a></li>
</ul>
</li>
<li>by Seppy Bloom
<ul>
<li><a href="http://blogs.codegear.com/seppybloom/2008/07/18/37603" target="_blank">Tiburón Preview</a></li>
<li><a href="http://blogs.codegear.com/seppybloom/2008/07/18/37605" target="_blank">Tiburón Preview: TButtonedEdit</a></li>
</ul>
</li>
<li>by Chris Hesik
<ul>
<li><a href="http://blogs.codegear.com/chrishesik/2008/07/21/34833" target="_blank">Tiburon Preview: Vista Wait Chain Traversal</a></li>
</ul>
</li>
<li>by Marco Cantu
<ul>
<li><a href="http://blog.marcocantu.com/blog/tiburonvideo_unicodeexperiments.html" target="_blank">Delphi Unicode Experiments Video</a></li>
</ul>
</li>
</ul>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/">So it began: Tiburón in the news &#8211; July 25, 2008</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/07/21/so-it-began-tiburon-in-the-news/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">217</post-id>	</item>
		<item>
		<title>Delphi logos &#8211; going forward</title>
		<link>https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/</link>
					<comments>https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 10 Jul 2008 16:30:35 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[3rdRail]]></category>
		<category><![CDATA[c++builder]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[jbuilder]]></category>
		<category><![CDATA[logo]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=201</guid>

					<description><![CDATA[<p>I want to give a quick update about Delphi logos posted on my web-site. It has been officially reconfirmed, logos present on the page are allowed to be used as affiliation logos but with one exception: Please note that some of the 3rd party logos no longer can be used since &#8220;Borland&#8221; is<a class="moretag" href="https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/">Delphi logos &#8211; going forward</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I want to give a quick update about <a href="http://www.dragonsoft.us/delphi_art.php" target="_blank">Delphi logos</a> posted on my web-site.</p>
<p><img decoding="async" class="alignleft" style="margin-left: 10px; vertical-align: middle; margin-right: 10px; border: 0px;" src="http://www.dragonsoft.us/lib/art/DesignedForDelphi2008.png" alt="Logo" width="67" height="90" />It has been officially reconfirmed, logos present on the page are allowed to be used as affiliation logos but with one exception:</p>
<p><em><strong>Please note that some of the 3rd party logos no longer can be used since &#8220;Borland&#8221; is present.</strong></em></p>
<p><strong><em></em></strong></p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/">Delphi logos &#8211; going forward</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/07/10/delphi-logos-going-forward/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">201</post-id>	</item>
		<item>
		<title>Developing for Windows Vista</title>
		<link>https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/</link>
					<comments>https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/#comments</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Fri, 30 May 2008 03:17:40 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[vista]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=190</guid>

					<description><![CDATA[<p>Two weeks ago we have discussed some of the implications and inconveniences developers and users faced when introduced to Windows Vista. What makes Vista so &#8220;unfriendly&#8221; for developers? As it had happened before, it is a new guidelines and requirements. It was true with Windows 3.x, then Windows 95, NT, and<a class="moretag" href="https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/">Developing for Windows Vista</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Two weeks ago <a href="http://blog.dragonsoft.us/2008/05/16/was-microsoft-blames-users-for-vista-problems-by-marco/" target="_self">we have discussed</a> some of the implications and inconveniences developers and users faced when introduced to Windows Vista.</p>
<p>What makes Vista so &#8220;unfriendly&#8221; for developers?</p>
<p>As it had happened before, it is a new guidelines and requirements.</p>
<p>It was true with Windows 3.x, then Windows 95, NT, and 2000/XP. Nothing is so different now &#8211; a new UI, the new user experience. As a result, the new approach in development is required.</p>
<p>Microsoft pushes this new requirements through all possible channels and one of them, a primary for developers, is <a href="http://msdn.microsoft.com/en-us/windowsvista/default.aspx" target="_blank">Windows Vista Developer Center</a>.</p>
<p>Developers could find many references and tips there, helping them with existing and new software to become &#8220;comfortable&#8221; in Vista environment.</p>
<p>A very first item is &#8220;<a href="http://msdn.microsoft.com/en-us/windowsvista/cc188969.aspx" target="_blank">Why Develop for Windows Vista</a>&#8221; &#8211; a summary of what we, as developers, need to look for&#8230;</p>
<p>As for Delphi, we should not forget now famous <a href="http://www.installationexcellence.com/articles/VistaWithDelphi/Index.html" target="_blank">Creating Windows Vista Ready Applications with Delphi</a> (second editions) by Nathanial Woolls.</p>
<p>Yet there is much more has to be taken into account, so visiting WVDC would be appropriate.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/">Developing for Windows Vista</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/05/29/developing-for-windows-vista/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">190</post-id>	</item>
		<item>
		<title>Tip: Delphi on Vista to work in XP mode</title>
		<link>https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/</link>
					<comments>https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/#respond</comments>
		
		<dc:creator><![CDATA[Serguei Dosyukov]]></dc:creator>
		<pubDate>Thu, 29 May 2008 16:36:30 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[compatibility mode]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[run as xp]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[xp mode]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=188</guid>

					<description><![CDATA[<p>During the CG&#8217;s chat session few days ago, small discussion happened &#8211; how to make Delphi to ignore Vista on Vista. No surprise, but it is very easy and feature was in Windows for a few versions already &#8211; it is called &#8220;compatibility mode&#8221;. For Delphi being around for long<a class="moretag" href="https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/"> Read more</a></p>
<p>The post <a href="https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/">Tip: Delphi on Vista to work in XP mode</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>During the CG&#8217;s chat session few days ago, small discussion happened &#8211; how to make Delphi to ignore Vista on Vista.</p>
<p>No surprise, but it is very easy and feature was in Windows for a few versions already &#8211; it is called &#8220;compatibility mode&#8221;.</p>
<p>For Delphi being around for long time, developer might find some issues running old versions of the IDE on Vista: security restrictions, debug mode, even look-and-feel. Whatever reason you do not like Vista affecting your development environment, there is very easy way to go around it.</p>
<p>From <a href="http://www.howtogeek.com/howto/windows-vista/using-windows-vista-compatibility-mode/" target="_blank">this article</a> at HowToGeek:</p>
<blockquote><p>Windows Vista, like any new operating system, will have problems running some older versions of applications. This is especially true in Vista, considering all the changes. Thankfully there is a compatibility mode that can be easily set per application.</p>
<p><a id="more-227"></a></p>
<p>To configure the compatibility mode for an application, just locate the installation directory and right click on the .exe, selecting Properties from the menu.</p>
<p>You can choose to run the program in Windows XP compatibility mode, or even all the way back to Windows 95 compatibility.</p>
<p>Probably the most useful setting to start off with would be to disable the visual themes and desktop composition, if you can&#8217;t get things working. You&#8217;ll have to play around with it, but most likely you can get your application working this way.</p></blockquote>
<p>If you are willing to take more drastic approach, <a href="http://www.drbob42.com/examines/examin84.htm" target="_blank">this</a> Dr.Bob&#8217;s article might be of help to you.</p>
<p>Enjoy.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2026 <strong><a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a></strong>. This Feed is for personal non-commercial use only.</span><p>The post <a href="https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/">Tip: Delphi on Vista to work in XP mode</a> appeared first on <a href="https://blog.dragonsoft.us">Dragonsoft Technology View</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonsoft.us/2008/05/29/tip-delphi-on-vista-to-work-in-xp-mode/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">188</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk
Database Caching 15/85 queries in 0.060 seconds using Disk

Served from: blog.dragonsoft.us @ 2026-04-21 01:25:36 by W3 Total Cache
-->