You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by bu...@apache.org on 2014/03/22 19:57:04 UTC

svn commit: r902914 [5/14] - in /websites/staging/thrift/trunk/content: ./ tutorial/

Modified: websites/staging/thrift/trunk/content/tutorial/delphi.html
==============================================================================
--- websites/staging/thrift/trunk/content/tutorial/delphi.html (original)
+++ websites/staging/thrift/trunk/content/tutorial/delphi.html Sat Mar 22 18:57:03 2014
@@ -90,266 +90,223 @@
 <li>Thrift requires at least Delphi 2010. Earlier versions and FPC will not work due to the lack of Generics.</li>
 </ul>
 <h3 id="client">Client</h3>
-<div class="codehilite"><pre>  <span class="p">:::</span><span class="n">cpp</span>
-<span class="n">program</span> <span class="n">DelphiClient</span><span class="p">;</span>
-
-<span class="p">{</span>$<span class="n">APPTYPE</span> <span class="n">CONSOLE</span><span class="p">}</span>
-<span class="p">{</span>$<span class="n">D</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Copyright</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> 2012 <span class="n">The</span> <span class="n">Apache</span> <span class="n">Software</span> <span class="n">Foundation</span><span class="o">&amp;</span>#39<span class="p">;}</span>
-
-<span class="n">uses</span>
+<p><div class="codehilite"><pre><span class="n">program</span> <span class="n">DelphiClient</span><span class="p">;</span></p>
+<p><span class="p">{</span><span class="err">$</span><span class="n">APPTYPE</span> <span class="n">CONSOLE</span><span class="p">}</span>
+<span class="p">{</span><span class="err">$</span><span class="n">D</span> <span class="err">&#39;</span><span class="n">Copyright</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="mi">2012</span> <span class="n">The</span> <span class="n">Apache</span> <span class="n">Software</span> <span class="n">Foundation</span><span class="err">&#39;</span><span class="p">}</span></p>
+<p><span class="n">uses</span>
   <span class="n">SysUtils</span><span class="p">,</span>
   <span class="n">Generics</span><span class="p">.</span><span class="n">Collections</span><span class="p">,</span>
-  <span class="n">Thrift</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Shared</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="o">\</span><span class="n">Shared</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Tutorial</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="o">\</span><span class="n">Tutorial</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;;</span>
-
-
-<span class="n">type</span>
-  <span class="n">DelphiTutorialClient</span> <span class="p">=</span> <span class="n">class</span>
-  <span class="n">public</span>
-    <span class="n">class</span> <span class="n">procedure</span> <span class="n">Main</span><span class="p">;</span>
-  <span class="k">end</span><span class="p">;</span>
-
-
-<span class="o">//---</span> <span class="n">DelphiTutorialClient</span> <span class="o">---------------------------------------</span>
-
-
-<span class="n">class</span> <span class="n">procedure</span> <span class="n">DelphiTutorialClient</span><span class="p">.</span><span class="n">Main</span><span class="p">;</span>
-<span class="n">var</span> <span class="n">transport</span> <span class="p">:</span> <span class="n">ITransport</span><span class="p">;</span>
-    <span class="n">protocol</span>  <span class="p">:</span> <span class="n">IProtocol</span><span class="p">;</span>
-    <span class="n">client</span>    <span class="p">:</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">Iface</span><span class="p">;</span>
-    <span class="n">work</span>      <span class="p">:</span> <span class="n">IWork</span><span class="p">;</span>
-    <span class="n">sum</span><span class="p">,</span> <span class="n">quotient</span><span class="p">,</span> <span class="n">diff</span> <span class="p">:</span> <span class="n">Integer</span><span class="p">;</span>
-    <span class="nb">log</span>       <span class="p">:</span> <span class="n">ISharedStruct</span><span class="p">;</span>
+  <span class="n">Thrift</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Shared</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">Shared</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Tutorial</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">Tutorial</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">;</span></p>
+<p><span class="n">type</span>
+  <span class="n">DelphiTutorialClient</span> <span class="o">=</span> <span class="k">class</span>
+  <span class="nc">public</span>
+    <span class="k">class</span> <span class="nc">procedure</span> <span class="n">Main</span><span class="p">;</span>
+  <span class="n">end</span><span class="p">;</span></p>
+<p><span class="c1">//--- DelphiTutorialClient ---------------------------------------</span></p>
+<p><span class="k">class</span> <span class="nc">procedure</span> <span class="n">DelphiTutorialClient</span><span class="p">.</span><span class="n">Main</span><span class="p">;</span>
+<span class="n">var</span> <span class="n">transport</span> <span class="o">:</span> <span class="n">ITransport</span><span class="p">;</span>
+    <span class="n">protocol</span>  <span class="o">:</span> <span class="n">IProtocol</span><span class="p">;</span>
+    <span class="n">client</span>    <span class="o">:</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">Iface</span><span class="p">;</span>
+    <span class="n">work</span>      <span class="o">:</span> <span class="n">IWork</span><span class="p">;</span>
+    <span class="n">sum</span><span class="p">,</span> <span class="n">quotient</span><span class="p">,</span> <span class="n">diff</span> <span class="o">:</span> <span class="n">Integer</span><span class="p">;</span>
+    <span class="n">log</span>       <span class="o">:</span> <span class="n">ISharedStruct</span><span class="p">;</span>
 <span class="n">begin</span>
   <span class="k">try</span>
-    <span class="n">transport</span> <span class="p">:=</span> <span class="n">TSocketImpl</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">localhost</span><span class="o">&amp;</span>#39<span class="p">;,</span> 9090<span class="p">);</span>
-    <span class="n">protocol</span>  <span class="p">:=</span> <span class="n">TBinaryProtocolImpl</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">transport</span><span class="p">);</span>
-    <span class="n">client</span>    <span class="p">:=</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">TClient</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">protocol</span><span class="p">);</span>
-
-    <span class="n">transport</span><span class="p">.</span><span class="n">Open</span><span class="p">;</span>
-
-    <span class="n">client</span><span class="p">.</span><span class="n">ping</span><span class="p">;</span>
-    <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="o">&amp;</span>#39<span class="p">;</span><span class="n">ping</span><span class="p">()</span><span class="o">&amp;</span>#39<span class="p">;);</span>
-
-    <span class="n">sum</span> <span class="p">:=</span> <span class="n">client</span><span class="p">.</span><span class="n">add</span><span class="p">(</span> 1<span class="p">,</span> 1<span class="p">);</span>
-    <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">Format</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span>1<span class="o">+</span>1<span class="p">=</span><span class="c">%d&amp;#39;, [sum]));</span>
-
-    <span class="n">work</span> <span class="p">:=</span> <span class="n">TWorkImpl</span><span class="p">.</span><span class="n">Create</span><span class="p">;</span>
-
-    <span class="n">work</span><span class="p">.</span><span class="n">Op</span>   <span class="p">:=</span> <span class="n">TOperation</span><span class="p">.</span><span class="n">DIVIDE</span><span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">Num1</span> <span class="p">:=</span> 1<span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">Num2</span> <span class="p">:=</span> 0<span class="p">;</span>
-    <span class="k">try</span>
-      <span class="n">quotient</span> <span class="p">:=</span> <span class="n">client</span><span class="p">.</span><span class="n">calculate</span><span class="p">(</span>1<span class="p">,</span> <span class="n">work</span><span class="p">);</span>
-      <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Whoa</span> <span class="n">we</span> <span class="n">can</span> <span class="n">divide</span> <span class="n">by</span> 0<span class="o">&amp;</span>#39<span class="p">;);</span>
-      <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">Format</span><span class="p">(</span><span class="o">&amp;</span>#39<span class="p">;</span>1<span class="o">/</span>0<span class="p">=</span><span class="c">%d&amp;#39;,[quotient]));</span>
-    <span class="n">except</span>
-      <span class="n">on</span> <span class="n">io</span><span class="p">:</span> <span class="n">TInvalidOperation</span>
-      <span class="n">do</span> <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Invalid</span> <span class="n">operation</span><span class="p">:</span> <span class="o">&amp;</span>#39<span class="p">;</span> <span class="o">+</span> <span class="n">io</span><span class="p">.</span><span class="n">Why</span><span class="p">);</span>
-    <span class="k">end</span><span class="p">;</span>
-
-    <span class="n">work</span><span class="p">.</span><span class="n">Op</span>   <span class="p">:=</span> <span class="n">TOperation</span><span class="p">.</span><span class="n">SUBTRACT</span><span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">Num1</span> <span class="p">:=</span> 15<span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">Num2</span> <span class="p">:=</span> 10<span class="p">;</span>
-    <span class="k">try</span>
-      <span class="n">diff</span> <span class="p">:=</span> <span class="n">client</span><span class="p">.</span><span class="n">calculate</span><span class="p">(</span> 1<span class="p">,</span> <span class="n">work</span><span class="p">);</span>
-      <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">Format</span><span class="p">(</span><span class="o">&amp;</span>#39<span class="p">;</span>15<span class="o">-</span>10<span class="p">=</span><span class="c">%d&amp;#39;, [diff]));</span>
-    <span class="n">except</span>
-      <span class="n">on</span> <span class="n">io</span><span class="p">:</span> <span class="n">TInvalidOperation</span>
-      <span class="n">do</span> <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Invalid</span> <span class="n">operation</span><span class="p">:</span> <span class="o">&amp;</span>#39<span class="p">;</span> <span class="o">+</span> <span class="n">io</span><span class="p">.</span><span class="n">Why</span><span class="p">);</span>
-    <span class="k">end</span><span class="p">;</span>
+    <span class="n">transport</span> <span class="o">:=</span> <span class="n">TSocketImpl</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="err">&#39;</span><span class="n">localhost</span><span class="err">&#39;</span><span class="p">,</span> <span class="mi">9090</span><span class="p">);</span>
+    <span class="n">protocol</span>  <span class="o">:=</span> <span class="n">TBinaryProtocolImpl</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">transport</span><span class="p">);</span>
+    <span class="n">client</span>    <span class="o">:=</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">TClient</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">protocol</span><span class="p">);</span></p>
+<div class="codehilite"><pre><span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>transport<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Open<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>client<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>ping<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>ping<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><
 span class="nt">&gt;</span>()<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>sum<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>client<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>add<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><sp
 an class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Format<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&qu
 ot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=%<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>d<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;
 span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>[<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>sum<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>]));<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>TWorkImpl<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Create<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Op<span class="nt">&lt;/span&gt;</span>   <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>TOperation<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;
 n&quot;</span><span class="nt">&gt;</span>DIVIDE<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Num1<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Num2<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>0<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>try<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>quotient<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>client<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>calculate<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s"
 >&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Whoa<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na
 ">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>we<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>can<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>divide<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>by<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>0<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class
 =</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Format<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><spa
 n class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>/<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>0<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=%<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>d<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class
 ="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,[<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>quotient<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>]));<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>except<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>on<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>io:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>TInvalidOperation<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>do<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">
 class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Invalid<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>operation:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>io<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">
 class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Why<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>end<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Op<span class="nt">&lt;/span&gt;</span>   <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>TOperation<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;
 n&quot;</span><span class="nt">&gt;</span>SUBTRACT<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Num1<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>15<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Num2<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>10<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>try<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>diff<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>client<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>calculate<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=<
 /span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>work<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Format<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><spa
 n class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>15<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>-<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>10<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=%<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>d<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span cla
 ss="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>[<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>diff<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>]));<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>except<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>on<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>io:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>TInvalidOperation<span class="nt">&lt;/span&gt;</span>
+  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>do<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">
 class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Invalid<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>operation:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>io<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">
 class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Why<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>end<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
 
-    <span class="nb">log</span> <span class="p">:=</span> <span class="n">client</span><span class="p">.</span><span class="n">getStruct</span><span class="p">(</span>1<span class="p">);</span>
-    <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">Format</span><span class="p">(</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Check</span> <span class="nb">log</span><span class="p">:</span> <span class="c">%s&amp;#39;, [log.Value]));</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>log<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>client<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>getStruct<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;
 mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Console<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>WriteLine<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Format<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&qu
 ot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Check<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>log:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>%<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>s<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;#39;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span cl
 ass="nt">&gt;</span>,<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>[<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>log<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Value<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>]));<span class="nt">&lt;/span&gt;</span>
 
-    <span class="n">transport</span><span class="p">.</span><span class="n">Close</span><span class="p">();</span>
-
-  <span class="n">except</span>
-    <span class="n">on</span> <span class="n">e</span> <span class="p">:</span> <span class="n">Exception</span>
-    <span class="n">do</span> <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">e</span><span class="p">.</span><span class="n">ClassName</span><span class="o">+&amp;</span>#39<span class="p">;:</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="o">+</span><span class="n">e</span><span class="p">.</span><span class="n">Message</span><span class="p">);</span>
-  <span class="k">end</span><span class="p">;</span>
-<span class="k">end</span><span class="p">;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>transport<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Close<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+</pre></div>
 
 
-<span class="n">begin</span>
+<p><span class="n">except</span>
+    <span class="n">on</span> <span class="n">e</span> <span class="o">:</span> <span class="n">Exception</span>
+    <span class="k">do</span> <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">e</span><span class="p">.</span><span class="n">ClassName</span><span class="o">+</span><span class="err">&#39;</span><span class="o">:</span> <span class="err">&#39;</span><span class="o">+</span><span class="n">e</span><span class="p">.</span><span class="n">Message</span><span class="p">);</span>
+  <span class="n">end</span><span class="p">;</span>
+<span class="n">end</span><span class="p">;</span></p>
+<p><span class="n">begin</span>
   <span class="k">try</span>
     <span class="n">DelphiTutorialClient</span><span class="p">.</span><span class="n">Main</span><span class="p">;</span>
   <span class="n">except</span>
-    <span class="n">on</span> <span class="n">E</span><span class="p">:</span> <span class="n">Exception</span> <span class="n">do</span>
-      <span class="n">Writeln</span><span class="p">(</span><span class="n">E</span><span class="p">.</span><span class="n">ClassName</span><span class="p">,</span> <span class="o">&amp;</span>#39<span class="p">;:</span> <span class="o">&amp;</span>#39<span class="p">;,</span> <span class="n">E</span><span class="p">.</span><span class="n">Message</span><span class="p">);</span>
-  <span class="k">end</span><span class="p">;</span>
-<span class="k">end</span><span class="p">.</span>
-</pre></div>
-
-
+    <span class="n">on</span> <span class="nl">E:</span> <span class="n">Exception</span> <span class="k">do</span>
+      <span class="n">Writeln</span><span class="p">(</span><span class="n">E</span><span class="p">.</span><span class="n">ClassName</span><span class="p">,</span> <span class="err">&#39;</span><span class="o">:</span> <span class="err">&#39;</span><span class="p">,</span> <span class="n">E</span><span class="p">.</span><span class="n">Message</span><span class="p">);</span>
+  <span class="n">end</span><span class="p">;</span>
+<span class="n">end</span><span class="p">.</span>
+</pre></div></p>
 <h3 id="server">Server</h3>
-<div class="codehilite"><pre>  <span class="p">:::</span><span class="n">cpp</span>
-<span class="n">program</span> <span class="n">DelphiServer</span><span class="p">;</span>
-
-<span class="p">{</span>$<span class="n">APPTYPE</span> <span class="n">CONSOLE</span><span class="p">}</span>
-<span class="p">{</span>$<span class="n">D</span> <span class="o">&amp;</span>#39<span class="p">;</span><span class="n">Copyright</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> 2012 <span class="n">The</span> <span class="n">Apache</span> <span class="n">Software</span> <span class="n">Foundation</span><span class="o">&amp;</span>#39<span class="p">;}</span>
-
-<span class="p">{</span>$<span class="n">Q</span><span class="o">+</span><span class="p">}</span>     <span class="o">//</span> <span class="n">throws</span> <span class="n">exceptions</span> <span class="n">on</span> <span class="n">numeric</span> <span class="n">overflows</span>
-
-<span class="n">uses</span>
+<p><div class="codehilite"><pre><span class="n">program</span> <span class="n">DelphiServer</span><span class="p">;</span></p>
+<p><span class="p">{</span><span class="err">$</span><span class="n">APPTYPE</span> <span class="n">CONSOLE</span><span class="p">}</span>
+<span class="p">{</span><span class="err">$</span><span class="n">D</span> <span class="err">&#39;</span><span class="n">Copyright</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="mi">2012</span> <span class="n">The</span> <span class="n">Apache</span> <span class="n">Software</span> <span class="n">Foundation</span><span class="err">&#39;</span><span class="p">}</span></p>
+<p><span class="p">{</span><span class="err">$</span><span class="n">Q</span><span class="o">+</span><span class="p">}</span>     <span class="c1">// throws exceptions on numeric overflows</span></p>
+<p><span class="n">uses</span>
   <span class="n">SysUtils</span><span class="p">,</span>
   <span class="n">Generics</span><span class="p">.</span><span class="n">Collections</span><span class="p">,</span>
-  <span class="n">Thrift</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">lib</span><span class="o">\</span><span class="n">delphi</span><span class="o">\</span><span class="n">src</span><span class="o">\</span><span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Shared</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="o">\</span><span class="n">Shared</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;,</span>
-  <span class="n">Tutorial</span> <span class="n">in</span> <span class="o">&amp;</span>#39<span class="p">;.</span><span class="o">.\</span><span class="p">.</span><span class="o">.\</span><span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="o">\</span><span class="n">Tutorial</span><span class="p">.</span><span class="n">pas</span><span class="o">&amp;</span>#39<span class="p">;;</span>
-
-
-<span class="n">type</span>
-  <span class="n">TCalculatorHandler</span> <span class="p">=</span> <span class="n">class</span><span class="p">(</span> <span class="n">TInterfacedObject</span><span class="p">,</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">Iface</span><span class="p">)</span>
-  <span class="n">protected</span>
-    <span class="n">FLog</span> <span class="p">:</span> <span class="n">TDictionary</span><span class="o">&amp;</span><span class="n">lt</span><span class="p">;</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">ISharedStruct</span><span class="o">&amp;</span><span class="n">gt</span><span class="p">;;</span>
-
-    <span class="o">//</span> <span class="n">TSharedService</span><span class="p">.</span><span class="n">Iface</span>
-<span class="k">    function</span><span class="w">  </span><span class="nf">getStruct</span><span class="p">(</span>key: Integer<span class="p">):</span> <span class="n">ISharedStruct</span><span class="p">;</span>
-
-    <span class="o">//</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">Iface</span>
-    <span class="n">procedure</span> <span class="n">ping</span><span class="p">();</span>
-<span class="k">    function</span><span class="w">  </span><span class="nf">add</span><span class="p">(</span>num1: Integer; num2: Integer<span class="p">):</span> <span class="n">Integer</span><span class="p">;</span>
-<span class="k">    function</span><span class="w">  </span><span class="nf">calculate</span><span class="p">(</span>logid: Integer; const w: IWork<span class="p">):</span> <span class="n">Integer</span><span class="p">;</span>
-    <span class="n">procedure</span> <span class="n">zip</span><span class="p">();</span>
-
-  <span class="n">public</span>
-    <span class="n">constructor</span> <span class="n">Create</span><span class="p">;</span>
-    <span class="n">destructor</span> <span class="n">Destroy</span><span class="p">;</span>  <span class="n">override</span><span class="p">;</span>
-
-  <span class="k">end</span><span class="p">;</span>
-
-  <span class="n">DelphiTutorialServer</span> <span class="p">=</span> <span class="n">class</span>
-  <span class="n">public</span>
-    <span class="n">class</span> <span class="n">procedure</span> <span class="n">Main</span><span class="p">;</span>
-  <span class="k">end</span><span class="p">;</span>
-
-
-<span class="o">//---</span> <span class="n">TCalculatorHandler</span> <span class="o">---------------------------------------------------</span>
+  <span class="n">Thrift</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Collections</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Console</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Utils</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Stream</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Protocol</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Server</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">lib</span><span class="err">\&lt;/span&gt;<span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">src</span><span class="err">\&lt;/span&gt;<span class="n">Thrift</span><span class="p">.</span><span class="n">Transport</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Shared</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">Shared</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">,</span>
+  <span class="n">Tutorial</span> <span class="n">in</span> <span class="err">&#39;</span><span class="p">..</span><span class="err">\&lt;/span&gt;<span class="p">..</span><span class="err">\&lt;/span&gt;<span class="n">gen</span><span class="o">-</span><span class="n">delphi</span><span class="err">\&lt;/span&gt;<span class="n">Tutorial</span><span class="p">.</span><span class="n">pas</span><span class="err">&#39;</span><span class="p">;</span></p>
+<p><span class="n">type</span>
+  <span class="n">TCalculatorHandler</span> <span class="o">=</span> <span class="n">class</span><span class="p">(</span> <span class="n">TInterfacedObject</span><span class="p">,</span> <span class="n">TCalculator</span><span class="p">.</span><span class="n">Iface</span><span class="p">)</span>
+  <span class="k">protected</span>
+    <span class="n">FLog</span> <span class="o">:</span> <span class="n">TDictionary</span><span class="o">&lt;</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">ISharedStruct</span><span class="o">&gt;</span><span class="p">;</span></p>
+<div class="codehilite"><pre><span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;c1&quot;</span><span class="nt">&gt;</span>// TSharedService.Iface<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span>  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>getStruct<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>key:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class=
 "s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>ISharedStruct<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;c1&quot;</span><span class="nt">&gt;</span>// TCalculator.Iface<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>procedure<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>ping<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span>  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>add<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>num1:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class
 =</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>num2:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span>  <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>calculate<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>logid:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na
 ">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>const<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nl&quot;</span><span class="nt">&gt;</span>w:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>IWork<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>Integer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span cla
 ss="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>procedure<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;n&quot;</span><span class="nt">&gt;</span>zip<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+</pre></div>
 
 
-<span class="n">constructor</span> <span class="n">TCalculatorHandler</span><span class="p">.</span><span class="n">Create</span><span class="p">;</span>
+<p><span class="k">public</span>
+    <span class="n">constructor</span> <span class="n">Create</span><span class="p">;</span>
+    <span class="n">destructor</span> <span class="n">Destroy</span><span class="p">;</span>  <span class="n">override</span><span class="p">;</span></p>
+<p><span class="n">end</span><span class="p">;</span></p>
+<p><span class="n">DelphiTutorialServer</span> <span class="o">=</span> <span class="k">class</span>
+  <span class="nc">public</span>
+    <span class="k">class</span> <span class="nc">procedure</span> <span class="n">Main</span><span class="p">;</span>
+  <span class="n">end</span><span class="p">;</span></p>
+<p><span class="c1">//--- TCalculatorHandler ---------------------------------------------------</span></p>
+<p><span class="n">constructor</span> <span class="n">TCalculatorHandler</span><span class="p">.</span><span class="n">Create</span><span class="p">;</span>
 <span class="n">begin</span>
   <span class="n">inherited</span> <span class="n">Create</span><span class="p">;</span>
-  <span class="n">FLog</span> <span class="p">:=</span> <span class="n">TDictionary</span><span class="o">&amp;</span><span class="n">lt</span><span class="p">;</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">ISharedStruct</span><span class="o">&amp;</span><span class="n">gt</span><span class="p">;.</span><span class="n">Create</span><span class="p">();</span>
-<span class="k">end</span><span class="p">;</span>
-
-
-<span class="n">destructor</span> <span class="n">TCalculatorHandler</span><span class="p">.</span><span class="n">Destroy</span><span class="p">;</span>
+  <span class="n">FLog</span> <span class="o">:=</span> <span class="n">TDictionary</span><span class="o">&lt;</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">ISharedStruct</span><span class="o">&gt;</span><span class="p">.</span><span class="n">Create</span><span class="p">();</span>
+<span class="n">end</span><span class="p">;</span></p>
+<p><span class="n">destructor</span> <span class="n">TCalculatorHandler</span><span class="p">.</span><span class="n">Destroy</span><span class="p">;</span>
 <span class="n">begin</span>
   <span class="k">try</span>

[... 164 lines stripped ...]