<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Delphi-Tutorials.de</title>
    <link>https://delphi-tutorials.de/</link>
    <description>News, Tutorials und Notizen rund um Delphi und Firebird.</description>
    <language>de-de</language>
    <atom:link href="https://delphi-tutorials.de/feed.xml" rel="self" type="application/rss&#43;xml"/>
    <item>
      <title>Anwendung nur einmal starten</title>
      <link>https://delphi-tutorials.de/tutorials/anwendung-nur-einmal-starten/</link>
      <guid>https://delphi-tutorials.de/tutorials/anwendung-nur-einmal-starten/</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Manche Programme dürfen nur einmal laufen – etwa weil sie eine Datei exklusiv öffnen.&#xA;Windows bietet dafür einen benannten &lt;em&gt;Mutex&lt;/em&gt;: Die erste Instanz legt ihn an, jede weitere&#xA;stellt fest, dass es ihn schon gibt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;das-prinzip&#34;&gt;Das Prinzip&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;CreateMutex&lt;/code&gt; liefert auch dann ein gültiges Handle, wenn der Mutex bereits existiert.&#xA;Ob man der Erste war, verrät erst &lt;code&gt;GetLastError&lt;/code&gt; – und zwar nur, wenn man es&#xA;&lt;strong&gt;unmittelbar danach&lt;/strong&gt; abfragt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;der-code-in-der-dpr&#34;&gt;Der Code in der .dpr&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-pas&#34; data-lang=&#34;pas&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;program&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;Projekt1&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;uses&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;Winapi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;Windows&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;System&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;SysUtils&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;Vcl&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;Forms&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;Main&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;Main.pas&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;cm&#34;&gt;{FormMain}&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;{$R *.res}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;var&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;MutexHandle&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;THandle&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;begin&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// Name eindeutig wählen – sonst blockiert ein fremdes Programm&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;MutexHandle&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;CreateMutex&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;nil&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;no&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#39;DelphiTutorials.Projekt1.EinzigeInstanz&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;MutexHandle&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;RaiseLastOSError&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;GetLastError&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;ERROR_ALREADY_EXISTS&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;begin&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;CloseHandle&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;MutexHandle&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;Exit&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;try&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;Application&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;Initialize&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;Application&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;MainFormOnTaskbar&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;no&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;Application&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;CreateForm&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;TFormMain&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;FormMain&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;Application&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;Run&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;finally&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;CloseHandle&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;MutexHandle&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;note&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tipp:&lt;/strong&gt; Statt still zu beenden, kann die zweite Instanz die erste per &lt;code&gt;FindWindow&lt;/code&gt; suchen&#xA;und in den Vordergrund holen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interessante Projekte</title>
      <link>https://delphi-tutorials.de/news/2026/projekte/</link>
      <guid>https://delphi-tutorials.de/news/2026/projekte/</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;2 Projekte auf die ein Blick lohnt: DelphiRefactoringLight und AppCentral&lt;/p&gt;</description>
    </item>
    <item>
      <title>Neustart: Die Seite ist jetzt statisch</title>
      <link>https://delphi-tutorials.de/news/2026/neustart/</link>
      <guid>https://delphi-tutorials.de/news/2026/neustart/</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Kein Drupal mehr, keine Update-Runden: delphi-tutorials.de besteht ab heute aus schlichten HTML-Seiten.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BLOBs in Firebird</title>
      <link>https://delphi-tutorials.de/tutorials/blobs-in-firebird/</link>
      <guid>https://delphi-tutorials.de/tutorials/blobs-in-firebird/</guid>
      <pubDate>Sun, 16 Sep 2018 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Wer Texte, Bilder oder sonstige Daten in einer Interbas/Firebird (IB/FB) Datenbank speichern will, verwendet daszu den Typ Blob. Doch was sind Blobs, wie funktionieren sie und wo kommen sie überhaupt her? &lt;strong&gt;Geschichte der Blobs&lt;/strong&gt; Der Name &amp;quot;Blob&amp;quot; bedeutet im Grunde genommen gar nichts. Oft wird das Wort Blob als Abkürzung für „Binary Large Object“ oder &amp;quot;Basic Large Object&amp;quot; angesehen. Richtig ist aber, dass die Bezeichnung aus dem amerikanischen Science Fiction Spielfilm &amp;quot;The Blob&amp;quot; stammt. Der Hauptdarsteller (The Blob) war ein außerirdisches Monster das große Teile der USA verschlag. So in der Art stellten sich wohl auch die Väter des Blob Types die Funktion vor: Alles Mögliche in sich reinstopfen... Der Sub_type Jeder der schon mal mit Blobs gearbeitetet hat, weiß, dass er bei der Definition eines Blobfeldes einen Sub_Type angeben muss. Es existieren eine handvoll definierter Sub_types:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Datenbank-Grundlagen</title>
      <link>https://delphi-tutorials.de/tutorials/datenbank-grundlagen/</link>
      <guid>https://delphi-tutorials.de/tutorials/datenbank-grundlagen/</guid>
      <pubDate>Sun, 16 Sep 2018 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;In diesem Tutorial geht es ausschließlich um Datenbanken. Was ist das, wie funktioniert das und was kann man damit machen. Hier werde ich Grundlagen erläutern - von der Idee bis zur fertigen Datenbank. Die SQL-Grundlagen sowie weiterführende SQL-Techniken für den IB/FB-Server gibt&#39;s in meinem SQL-Tutorial. &lt;strong&gt;Historisches&lt;/strong&gt; Der Begriff &amp;quot;Datenbank&amp;quot; ist nur schwer zu definieren, da umgangssprachlich alles mögliche mit diesem Begriff in Verbindung gebracht wird - vom Datenbankmanagementsystem (DBMS), den Datenbankfiles bis hin zu Paradox. Auf die genaue Bedeutung der eben genannten Begriffe werde ich später eingehen. Die ersten &amp;quot;Datenbanken&amp;quot; waren File-Systeme in denen die Datensätze nacheinander (sequentiell) abgespeichert wurden. Wollte man also den 20. Datensatz lesen, musste z.B. das Band zum Anfang der Datensätze (begin of file BOF) gespult werden und dann jeder einzelnen Datensatz eingelesen werden, bis man beim 20sten angekommen war. Oft wird auch eine &amp;quot;Datenbank&amp;quot; als großer Speicherraum für irgendwelche Daten missverstanden. Daten können auch in Textdateien auf der Festplatte gespeichert werden, was sicherlich keine Datenbank darstellt. Die Datenbank (oder besser das DBMS) ist dafür verantwortlich die Daten schnell wieder zu finden und das kann in einem Textfile mitunter schwierig werden. &lt;strong&gt;Definitionen&lt;/strong&gt; Datenbankmanagementsystem (DBMS) Das DBMS ist das Programm, das für den Zugriff auf die DB-Files, in denen die einzelnen Daten gespeichert sind, zuständig ist. DBMS gibt es in verschiedene Ausführungen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>MS Office Automation</title>
      <link>https://delphi-tutorials.de/tutorials/ms-office-automation/</link>
      <guid>https://delphi-tutorials.de/tutorials/ms-office-automation/</guid>
      <pubDate>Sun, 16 Sep 2018 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Wer Delphi 5 (oder neuer) sein Eigen nennt, kann damit sehr einfach und schnell das komplette Office fernsteuern, angefangen vom Starten der Applikationen bis hin zu Aufrufen verschiedener Funktionen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;word---die-erste-anwendung&#34;&gt;Word - Die erste Anwendung&lt;/h2&gt;&#xA;&lt;p&gt;In eine neue Anwendung werden zwei TButtons sowie eine TWordApplication hinzugefügt, der erste bekommt die Caption &amp;quot;Starten&amp;quot; und der andere &amp;quot;Beenden&amp;quot;. Die Eigenschaft FormStyle des Formulars wird auf &amp;quot;fsStayOnTop&amp;quot; gesetzt. In die Ereignisroutine OnClick der Buttons kommt folgender Code: Button Starten:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OOP in Delphi</title>
      <link>https://delphi-tutorials.de/tutorials/oop-in-delphi/</link>
      <guid>https://delphi-tutorials.de/tutorials/oop-in-delphi/</guid>
      <pubDate>Sun, 16 Sep 2018 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Jeder, der das obligatorische &amp;quot;Hello World&amp;quot; Programm in Delphi erstellt hat, ist schon mit Klassen und Objekten in Berührung gekommen, er hat schon objektorientiert programmiert. Im folgenden Tutorial werde ich die Grundlagen von OOP erläutern und dabei auf die Besonderheiten von Delphi eingehen. Als Abschluss kommt dann ein kleines Beispielprojekt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;klasse-und-objekt---alles-das-selbe-oder-doch-nicht-und-was-ist-eine-instanz&#34;&gt;Klasse und Objekt - alles das selbe oder doch nicht? Und was ist eine Instanz?&lt;/h2&gt;&#xA;&lt;p&gt;Oft wird der Begriff &amp;quot;Klasse&amp;quot; und &amp;quot;Objekt&amp;quot; verwechselt bzw. missverstanden. Zwischen beiden besteht ein großer Unterschied, dieser ist aber sehr einfach zu merken: Das Verhältnis Klasse zu Objekt ist identisch wie das Verhältnis zwischen Variablentyp und Variable (also z.B. Integer und Variable i). Der Begriff Instanz ist gleichbedeutend mit dem Objekt. Also ist mit einer Instanz einer Klasse ein Objekt gemeint.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Listen in Delphi</title>
      <link>https://delphi-tutorials.de/tutorials/listen-in-delphi/</link>
      <guid>https://delphi-tutorials.de/tutorials/listen-in-delphi/</guid>
      <pubDate>Mon, 27 Aug 2018 00:00:00 +0000</pubDate>
      <description>&lt;p&gt;Dieses Tutorial beschäftigt sich mit Listen in Delphi. Schon jeder, der ein Programm in Delphi geschrieben hat, hat auch mit Listen gearbeitet, aber nicht jeder hat es bemerkt. Es gibt einige Listenklassen in Delphi, hier eine kleine Übersicht:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TList Eine Zeigerliste&lt;/li&gt;&#xA;&lt;li&gt;TThreadList Eine thread-sichere Zeigerliste&lt;/li&gt;&#xA;&lt;li&gt;TBucketList Eine Zeigerliste, als Hash-Liste organisiert&lt;/li&gt;&#xA;&lt;li&gt;TObjectBucketList Eine Liste von Objektinstanzen, als Hash-Liste organisiert&lt;/li&gt;&#xA;&lt;li&gt;TObjectList Eine speicherverwaltete Liste von Objektinstanzen&lt;/li&gt;&#xA;&lt;li&gt;TComponentList Eine speicherverwaltete Liste von Komponenten (d.h. Instanzen von Klassen, die sich von TComponent ableiten)&lt;/li&gt;&#xA;&lt;li&gt;TClassList Eine Liste von Klassentypen&lt;/li&gt;&#xA;&lt;li&gt;TInterfaceList Eine Liste mit Schnittstellenzeigern&lt;/li&gt;&#xA;&lt;li&gt;TQueue Eine FIFO-Liste von Zeigern&lt;/li&gt;&#xA;&lt;li&gt;TStack Eine LIFO-Liste von Zeigern&lt;/li&gt;&#xA;&lt;li&gt;TObjectQueue Eine FIFO-Liste von Objekten&lt;/li&gt;&#xA;&lt;li&gt;TObjectStack Eine LIFO-Liste von Objekten&lt;/li&gt;&#xA;&lt;li&gt;TCollection Basisklasse für viele spezielle Klassen mit typisierten Elementen&lt;/li&gt;&#xA;&lt;li&gt;TStringList Eine Stringliste&lt;/li&gt;&#xA;&lt;li&gt;THashedStringList Eine Stringliste der Form Name=Wert, als Hash-Liste organisiert&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Die bekannteste von diese Listen dürfte wohl die TStringList sein. Die Eigenschaft „Text“ eines Memofeldes ist nämlich vom Typ TStringList. Daneben gibt es aber noch eine Menge weiterer Insteressanter Listen. Hier in diesem Tutorial werde ich auf folgende Listenklassen eingehen:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
