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/09/18 22:14:31 UTC

svn commit: r922739 - in /websites/staging/thrift/trunk/content: ./ tutorial/delphi.html

Author: buildbot
Date: Thu Sep 18 20:14:31 2014
New Revision: 922739

Log:
Staging update by buildbot for thrift

Modified:
    websites/staging/thrift/trunk/content/   (props changed)
    websites/staging/thrift/trunk/content/tutorial/delphi.html

Propchange: websites/staging/thrift/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Sep 18 20:14:31 2014
@@ -1 +1 @@
-1626069
+1626071

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 Thu Sep 18 20:14:31 2014
@@ -199,137 +199,168 @@
 </p>
 
 <h3 id="server">Server</h3>
-<p>program DelphiServer;</p>
-<p>{$APPTYPE CONSOLE}
-{$D 'Copyright (c) 2012 The Apache Software Foundation'}</p>
-<p>{$Q+}     // throws exceptions on numeric overflows</p>
-<p>uses
-  SysUtils,
-  Generics.Collections,
-  Thrift in '......\lib\delphi\src\Thrift.pas',
-  Thrift.Collections in '......\lib\delphi\src\Thrift.Collections.pas',
-  Thrift.Console in '......\lib\delphi\src\Thrift.Console.pas',
-  Thrift.Utils in '......\lib\delphi\src\Thrift.Utils.pas',
-  Thrift.Stream in '......\lib\delphi\src\Thrift.Stream.pas',
-  Thrift.Protocol in '......\lib\delphi\src\Thrift.Protocol.pas',
-  Thrift.Server in '......\lib\delphi\src\Thrift.Server.pas',
-  Thrift.Transport in '......\lib\delphi\src\Thrift.Transport.pas',
-  Shared in '....\gen-delphi\Shared.pas',
-  Tutorial in '....\gen-delphi\Tutorial.pas';</p>
-<p>type
-  TCalculatorHandler = class( TInterfacedObject, TCalculator.Iface)
-  protected
-    FLog : TDictionary&lt; Integer, ISharedStruct&gt;;</p>
-<div class="codehilite"><pre><span class="c1">// TSharedService.Iface</span>
-<span class="k">function</span>  <span class="n">getStruct</span><span class="p">(</span><span class="nl">key:</span> <span class="n">Integer</span><span class="p">)</span><span class="o">:</span> <span class="n">ISharedStruct</span><span class="p">;</span>
-
-<span class="c1">// TCalculator.Iface</span>
-<span class="n">procedure</span> <span class="n">ping</span><span class="p">();</span>
-<span class="k">function</span>  <span class="n">add</span><span class="p">(</span><span class="nl">num1:</span> <span class="n">Integer</span><span class="p">;</span> <span class="nl">num2:</span> <span class="n">Integer</span><span class="p">)</span><span class="o">:</span> <span class="n">Integer</span><span class="p">;</span>
-<span class="k">function</span>  <span class="n">calculate</span><span class="p">(</span><span class="nl">logid:</span> <span class="n">Integer</span><span class="p">;</span> <span class="k">const</span> <span class="nl">w:</span> <span class="n">IWork</span><span class="p">)</span><span class="o">:</span> <span class="n">Integer</span><span class="p">;</span>
-<span class="n">procedure</span> <span class="n">zip</span><span class="p">();</span>
-</pre></div>
-
+<div class="codehilite"><pre><span class="k">program</span> <span class="n">DelphiServer</span><span class="o">;</span>
 
-<p>public
-    constructor Create;
-    destructor Destroy;  override;</p>
-<p>end;</p>
-<p>DelphiTutorialServer = class
-  public
-    class procedure Main;
-  end;</p>
-<p>//--- TCalculatorHandler ---------------------------------------------------</p>
-<p>constructor TCalculatorHandler.Create;
-begin
-  inherited Create;
-  FLog := TDictionary&lt; Integer, ISharedStruct&gt;.Create();
-end;</p>
-<p>destructor TCalculatorHandler.Destroy;
-begin
-  try
-    FreeAndNil( FLog);
-  finally
-    inherited Destroy;
-  end;
-end;</p>
-<p>procedure TCalculatorHandler.ping;
-begin
-  Console.WriteLine( 'ping()');
-end;</p>
-<p>function TCalculatorHandler.add(num1: Integer; num2: Integer): Integer;
-begin
-  Console.WriteLine( Format( 'add( %d, %d)', [num1, num2]));
-  result := num1 + num2;
-end;</p>
-<p>function TCalculatorHandler.calculate(logid: Integer; const w: IWork): Integer;
-var entry : ISharedStruct;
-begin
-  try
-    Console.WriteLine( Format('calculate( %d, [%d,%d,%d])', [logid, Ord(w.Op), w.Num1, w.Num2]));</p>
-<div class="codehilite"><pre><span class="k">case</span> <span class="n">w</span><span class="p">.</span><span class="n">Op</span> <span class="n">of</span>
-  <span class="n">TOperation</span><span class="p">.</span><span class="n">ADD</span>      <span class="p">:</span>  <span class="n">result</span> <span class="p">:=</span> <span class="n">w</span><span class="p">.</span><span class="n">Num1</span> <span class="o">+</span> <span class="n">w</span><span class="p">.</span><span class="n">Num2</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">result</span> <span class="p">:=</span> <span class="n">w</span><span class="p">.</span><span class="n">Num1</span> <span class="o">-</span> <span class="n">w</span><span class="p">.</span><span class="n">Num2</span><span class="p">;</span>
-  <span class="n">TOperation</span><span class="p">.</span><span class="n">MULTIPLY</span> <span class="p">:</span>  <span class="n">result</span> <span class="p">:=</span> <span class="n">w</span><span class="p">.</span><span class="n">Num1</span> <span class="o">*</span> <span class="n">w</span><span class="p">.</span><span class="n">Num2</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">result</span> <span class="p">:=</span> <span class="n">Round</span><span class="p">(</span> <span class="n">w</span><span class="p">.</span><span class="n">Num1</span> <span class="o">/</span> <span class="n">w</span><span class="p">.</span><span class="n">Num2</span><span class="p">);</span>
-<span class="k">else</span>
-  <span class="n">raise</span> <span class="n">TInvalidOperation</span><span class="p">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">Ord</span><span class="p">(</span><span class="n">w</span><span class="p">.</span><span class="n">Op</span><span class="p">),</span> <span class="s">&#39;Unknown operation&#39;</span><span class="p">);</span>
-<span class="k">end</span><span class="p">;</span>
-</pre></div>
+<span class="cm">{$APPTYPE CONSOLE}</span>
+<span class="cm">{$D &#39;Copyright (c) 2012 The Apache Software Foundation&#39;}</span>
 
+<span class="cm">{$Q+}</span>     <span class="c1">// throws exceptions on numeric overflows</span>
 
-<p>except
-    on e:Thrift.TException do raise;  // let Thrift Exceptions pass through
-    on e:Exception do raise TInvalidOperation.Create( Ord(w.Op), e.Message);  // repackage all other
-  end;</p>
-<p>entry := TSharedStructImpl.Create;
-  entry.Key   := logid;
-  entry.Value := IntToStr( result);
-  FLog.AddOrSetValue( logid, entry);
-end;</p>
-<p>function TCalculatorHandler.getStruct(key: Integer): ISharedStruct;
-begin
-  Console.WriteLine( Format( 'getStruct(%d)', [key]));
-  result := FLog[key];
-end;</p>
-<p>procedure TCalculatorHandler.zip;
-begin
-  Console.WriteLine( 'zip()');
-end;</p>
-<p>//--- DelphiTutorialServer ----------------------------------------------------------------------</p>
-<p>class procedure DelphiTutorialServer.Main;
-var handler   : TCalculator.Iface;
-    processor : IProcessor;
-    transport : IServerTransport;
-    server    : IServer;
-begin
-  try
-    handler   := TCalculatorHandler.Create;
-    processor := TCalculator.TProcessorImpl.Create( handler);
-    transport := TServerSocketImpl.Create( 9090);
-    server    := TSimpleServer.Create( processor, transport);</p>
-<div class="codehilite"><pre><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="s">&#39;Starting the server...&#39;</span><span class="p">);</span>
-<span class="n">server</span><span class="p">.</span><span class="n">Serve</span><span class="p">();</span>
+<span class="k">uses</span>
+  <span class="n">SysUtils</span><span class="o">,</span>
+  <span class="n">Generics</span><span class="o">.</span><span class="n">Collections</span><span class="o">,</span>
+  <span class="n">Thrift</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Collections</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Collections.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Console</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Console.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Utils</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Utils.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Stream</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Stream.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Protocol</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Protocol.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Server</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Server.pas&#39;</span><span class="o">,</span>
+  <span class="n">Thrift</span><span class="o">.</span><span class="n">Transport</span> <span class="k">in</span> <span class="s">&#39;..\..\..\lib\delphi\src\Thrift.Transport.pas&#39;</span><span class="o">,</span>
+  <span class="n">Shared</span> <span class="k">in</span> <span class="s">&#39;..\..\gen-delphi\Shared.pas&#39;</span><span class="o">,</span>
+  <span class="n">Tutorial</span> <span class="k">in</span> <span class="s">&#39;..\..\gen-delphi\Tutorial.pas&#39;</span><span class="o">;</span>
+
+
+<span class="k">type</span>
+  <span class="n">TCalculatorHandler</span> <span class="o">=</span> <span class="k">class</span><span class="p">(</span> <span class="n">TInterfacedObject</span><span class="o">,</span> <span class="n">TCalculator</span><span class="o">.</span><span class="n">Iface</span><span class="p">)</span>
+  <span class="kp">protected</span>
+    <span class="n">FLog</span> <span class="o">:</span> <span class="n">TDictionary</span><span class="o">&lt;</span> <span class="kt">Integer</span><span class="o">,</span> <span class="n">ISharedStruct</span><span class="o">&gt;;</span>
+
+    <span class="c1">// TSharedService.Iface</span>
+    <span class="k">function</span>  <span class="nf">getStruct</span><span class="p">(</span><span class="n">key</span><span class="o">:</span> <span class="kt">Integer</span><span class="p">)</span><span class="o">:</span> <span class="n">ISharedStruct</span><span class="o">;</span>
+
+    <span class="c1">// TCalculator.Iface</span>
+    <span class="k">procedure</span> <span class="nf">ping</span><span class="p">()</span><span class="o">;</span>
+    <span class="k">function</span>  <span class="nf">add</span><span class="p">(</span><span class="n">num1</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span> <span class="n">num2</span><span class="o">:</span> <span class="kt">Integer</span><span class="p">)</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span>
+    <span class="k">function</span>  <span class="nf">calculate</span><span class="p">(</span><span class="n">logid</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span> <span class="k">const</span> <span class="n">w</span><span class="o">:</span> <span class="n">IWork</span><span class="p">)</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span>
+    <span class="k">procedure</span> <span class="nf">zip</span><span class="p">()</span><span class="o">;</span>
+
+  <span class="kp">public</span>
+    <span class="k">constructor</span> <span class="nf">Create</span><span class="o">;</span>
+    <span class="k">destructor</span> <span class="nf">Destroy</span><span class="o">;</span>  <span class="kp">override</span><span class="o">;</span>
+
+  <span class="k">end</span><span class="o">;</span>
+
+  <span class="n">DelphiTutorialServer</span> <span class="o">=</span> <span class="k">class</span>
+  <span class="kp">public</span>
+    <span class="k">class</span> <span class="k">procedure</span> <span class="nf">Main</span><span class="o">;</span>
+  <span class="k">end</span><span class="o">;</span>
+
+
+<span class="c1">//--- TCalculatorHandler ---------------------------------------------------</span>
+
+
+<span class="k">constructor</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">Create</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="k">inherited</span> <span class="n">Create</span><span class="o">;</span>
+  <span class="n">FLog</span> <span class="o">:=</span> <span class="n">TDictionary</span><span class="o">&lt;</span> <span class="kt">Integer</span><span class="o">,</span> <span class="n">ISharedStruct</span><span class="o">&gt;.</span><span class="n">Create</span><span class="p">()</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">destructor</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">Destroy</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="k">try</span>
+    <span class="nb">FreeAndNil</span><span class="p">(</span> <span class="n">FLog</span><span class="p">)</span><span class="o">;</span>
+  <span class="k">finally</span>
+    <span class="k">inherited</span> <span class="n">Destroy</span><span class="o">;</span>
+  <span class="k">end</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">procedure</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">ping</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="s">&#39;ping()&#39;</span><span class="p">)</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">function</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">add</span><span class="p">(</span><span class="n">num1</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span> <span class="n">num2</span><span class="o">:</span> <span class="kt">Integer</span><span class="p">)</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="nb">Format</span><span class="p">(</span> <span class="s">&#39;add( %d, %d)&#39;</span><span class="o">,</span> <span class="p">[</span><span class="n">num1</span><span class="o">,</span> <span class="n">num2</span><span class="p">]))</span><span class="o">;</span>
+  <span class="bp">result</span> <span class="o">:=</span> <span class="n">num1</span> <span class="o">+</span> <span class="n">num2</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">function</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">calculate</span><span class="p">(</span><span class="n">logid</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span> <span class="k">const</span> <span class="n">w</span><span class="o">:</span> <span class="n">IWork</span><span class="p">)</span><span class="o">:</span> <span class="kt">Integer</span><span class="o">;</span>
+<span class="k">var</span> <span class="n">entry</span> <span class="o">:</span> <span class="n">ISharedStruct</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="k">try</span>
+    <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="nb">Format</span><span class="p">(</span><span class="s">&#39;calculate( %d, [%d,%d,%d])&#39;</span><span class="o">,</span> <span class="p">[</span><span class="n">logid</span><span class="o">,</span> <span class="nb">Ord</span><span class="p">(</span><span class="n">w</span><span class="o">.</span><span class="n">Op</span><span class="p">)</span><span class="o">,</span> <span class="n">w</span><span class="o">.</span><span class="n">Num1</span><span class="o">,</span> <span class="n">w</span><span class="o">.</span><span class="n">Num2</span><span class="p">]))</span><span class="o">;</span>
+
+    <span class="k">case</span> <span class="n">w</span><span class="o">.</span><span class="n">Op</span> <span class="k">of</span>
+      <span class="n">TOperation</span><span class="o">.</span><span class="n">ADD</span>      <span class="o">:</span>  <span class="bp">result</span> <span class="o">:=</span> <span class="n">w</span><span class="o">.</span><span class="n">Num1</span> <span class="o">+</span> <span class="n">w</span><span class="o">.</span><span class="n">Num2</span><span class="o">;</span>
+      <span class="n">TOperation</span><span class="o">.</span><span class="n">SUBTRACT</span> <span class="o">:</span>  <span class="bp">result</span> <span class="o">:=</span> <span class="n">w</span><span class="o">.</span><span class="n">Num1</span> <span class="o">-</span> <span class="n">w</span><span class="o">.</span><span class="n">Num2</span><span class="o">;</span>
+      <span class="n">TOperation</span><span class="o">.</span><span class="n">MULTIPLY</span> <span class="o">:</span>  <span class="bp">result</span> <span class="o">:=</span> <span class="n">w</span><span class="o">.</span><span class="n">Num1</span> <span class="o">*</span> <span class="n">w</span><span class="o">.</span><span class="n">Num2</span><span class="o">;</span>
+      <span class="n">TOperation</span><span class="o">.</span><span class="n">DIVIDE</span>   <span class="o">:</span>  <span class="bp">result</span> <span class="o">:=</span> <span class="nb">Round</span><span class="p">(</span> <span class="n">w</span><span class="o">.</span><span class="n">Num1</span> <span class="o">/</span> <span class="n">w</span><span class="o">.</span><span class="n">Num2</span><span class="p">)</span><span class="o">;</span>
+    <span class="k">else</span>
+      <span class="k">raise</span> <span class="n">TInvalidOperation</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span> <span class="nb">Ord</span><span class="p">(</span><span class="n">w</span><span class="o">.</span><span class="n">Op</span><span class="p">)</span><span class="o">,</span> <span class="s">&#39;Unknown operation&#39;</span><span class="p">)</span><span class="o">;</span>
+    <span class="k">end</span><span class="o">;</span>
+
+  <span class="k">except</span>
+    <span class="k">on</span> <span class="n">e</span><span class="o">:</span><span class="n">Thrift</span><span class="o">.</span><span class="n">TException</span> <span class="k">do</span> <span class="k">raise</span><span class="o">;</span>  <span class="c1">// let Thrift Exceptions pass through</span>
+    <span class="k">on</span> <span class="n">e</span><span class="o">:</span><span class="n">Exception</span> <span class="k">do</span> <span class="k">raise</span> <span class="n">TInvalidOperation</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span> <span class="nb">Ord</span><span class="p">(</span><span class="n">w</span><span class="o">.</span><span class="n">Op</span><span class="p">)</span><span class="o">,</span> <span class="n">e</span><span class="o">.</span><span class="n">Message</span><span class="p">)</span><span class="o">;</span>  <span class="c1">// repackage all other</span>
+  <span class="k">end</span><span class="o">;</span>
+
+  <span class="n">entry</span> <span class="o">:=</span> <span class="n">TSharedStructImpl</span><span class="o">.</span><span class="n">Create</span><span class="o">;</span>
+  <span class="n">entry</span><span class="o">.</span><span class="n">Key</span>   <span class="o">:=</span> <span class="n">logid</span><span class="o">;</span>
+  <span class="n">entry</span><span class="o">.</span><span class="n">Value</span> <span class="o">:=</span> <span class="nb">IntToStr</span><span class="p">(</span> <span class="bp">result</span><span class="p">)</span><span class="o">;</span>
+  <span class="n">FLog</span><span class="o">.</span><span class="n">AddOrSetValue</span><span class="p">(</span> <span class="n">logid</span><span class="o">,</span> <span class="n">entry</span><span class="p">)</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">function</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">getStruct</span><span class="p">(</span><span class="n">key</span><span class="o">:</span> <span class="kt">Integer</span><span class="p">)</span><span class="o">:</span> <span class="n">ISharedStruct</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="nb">Format</span><span class="p">(</span> <span class="s">&#39;getStruct(%d)&#39;</span><span class="o">,</span> <span class="p">[</span><span class="n">key</span><span class="p">]))</span><span class="o">;</span>
+  <span class="bp">result</span> <span class="o">:=</span> <span class="n">FLog</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">procedure</span> <span class="nc">TCalculatorHandler</span><span class="o">.</span><span class="nf">zip</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="s">&#39;zip()&#39;</span><span class="p">)</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="c1">//--- DelphiTutorialServer ----------------------------------------------------------------------</span>
+
+
+<span class="k">class</span> <span class="k">procedure</span> <span class="nc">DelphiTutorialServer</span><span class="o">.</span><span class="nf">Main</span><span class="o">;</span>
+<span class="k">var</span> <span class="n">handler</span>   <span class="o">:</span> <span class="n">TCalculator</span><span class="o">.</span><span class="n">Iface</span><span class="o">;</span>
+    <span class="n">processor</span> <span class="o">:</span> <span class="n">IProcessor</span><span class="o">;</span>
+    <span class="n">transport</span> <span class="o">:</span> <span class="n">IServerTransport</span><span class="o">;</span>
+    <span class="n">server</span>    <span class="o">:</span> <span class="n">IServer</span><span class="o">;</span>
+<span class="k">begin</span>
+  <span class="k">try</span>
+    <span class="n">handler</span>   <span class="o">:=</span> <span class="n">TCalculatorHandler</span><span class="o">.</span><span class="n">Create</span><span class="o">;</span>
+    <span class="n">processor</span> <span class="o">:=</span> <span class="n">TCalculator</span><span class="o">.</span><span class="n">TProcessorImpl</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">handler</span><span class="p">)</span><span class="o">;</span>
+    <span class="n">transport</span> <span class="o">:=</span> <span class="n">TServerSocketImpl</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span> <span class="mi">9090</span><span class="p">)</span><span class="o">;</span>
+    <span class="n">server</span>    <span class="o">:=</span> <span class="n">TSimpleServer</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span> <span class="n">processor</span><span class="o">,</span> <span class="n">transport</span><span class="p">)</span><span class="o">;</span>
+
+    <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="s">&#39;Starting the server...&#39;</span><span class="p">)</span><span class="o">;</span>
+    <span class="n">server</span><span class="o">.</span><span class="n">Serve</span><span class="p">()</span><span class="o">;</span>
+
+  <span class="k">except</span>
+    <span class="k">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="o">.</span><span class="n">WriteLine</span><span class="p">(</span> <span class="n">e</span><span class="o">.</span><span class="n">Message</span><span class="p">)</span><span class="o">;</span>
+  <span class="k">end</span><span class="o">;</span>
+
+  <span class="n">Console</span><span class="o">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="s">&#39;done.&#39;</span><span class="p">)</span><span class="o">;</span>
+<span class="k">end</span><span class="o">;</span>
+
+
+<span class="k">begin</span>
+  <span class="k">try</span>
+    <span class="n">DelphiTutorialServer</span><span class="o">.</span><span class="n">Main</span><span class="o">;</span>
+  <span class="k">except</span>
+    <span class="k">on</span> <span class="n">E</span><span class="o">:</span> <span class="n">Exception</span> <span class="k">do</span>
+      <span class="nb">Writeln</span><span class="p">(</span><span class="n">E</span><span class="o">.</span><span class="n">ClassName</span><span class="o">,</span> <span class="s">&#39;: &#39;</span><span class="o">,</span> <span class="n">E</span><span class="o">.</span><span class="n">Message</span><span class="p">)</span><span class="o">;</span>
+  <span class="k">end</span><span class="o">;</span>
+<span class="k">end</span><span class="o">.</span>
 </pre></div>
 
-
-<p>except
-    on e: Exception do Console.WriteLine( e.Message);
-  end;</p>
-<p>Console.WriteLine('done.');
-end;</p>
-<p>begin
-  try
-    DelphiTutorialServer.Main;
-  except
-    on E: Exception do
-      Writeln(E.ClassName, ': ', E.Message);
-  end;
-end.
 <p class='snippet_footer'>
   This snippet was generated by Apache Thrift's <strong>source tree docs</strong>:
   <a href="http://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=tutorial/delphi/DelphiServer/DelphiServer.dpr;hb=HEAD"</a>tutorial/delphi/DelphiServer/DelphiServer.dpr</a>
-</p></p>
+</p>
+
 <h2 id="additional-information">Additional Information</h2>
 	</div>
 	<div class="container">