Anwendungsfälle für Delphi: eine Aufgabe, eine Seite

Eine Produktseite sagt dir, was eine Komponente tut. Eine Referenzseite sagt dir, wie jede Eigenschaft heißt. Keine von beiden sagt dir, wie du die Aufgabe zu Ende bringst, für die du dich hingesetzt hast. Diese Seiten tun das. Jede nimmt eine einzelne Aufgabe vom leeren Formular bis zu funktionierendem Code, nennt bei jedem Schritt die Unit und die Komponente und sagt vorab, welches Produkt, welche Edition und welche Plattformen sie braucht, damit du die Kosten kennst, bevor du die erste Zeile schreibst.

Eine Aufgabe pro Seite, von Anfang bis Ende
Pascal aus dem ausgelieferten Quellcode
Edition und Plattform zuerst genannt
Delphi 7 bis RAD Studio 13

Was dir eine Anwendungsfall-Seite gibt

Jede Seite dieser Liste folgt derselben Form, weil es immer dieselben drei Fragen sind, in derselben Reihenfolge gestellt.

Eine Aufgabe, keine Komponente

Die Seite ist um das Ergebnis herum aufgebaut, das du willst, die Komponenten tauchen also auf, wenn die Aufgabe sie erreicht. Wo eine Aufgabe mehrere Komponenten umspannt, stehen sie alle hier, in der Reihenfolge, in der du ihnen wirklich begegnen würdest. Wo es zwei Wege gibt, werden beide gezeigt und der Kompromiss zwischen ihnen wird ausgesprochen.

Code, den du einfügen kannst

Das Pascal stammt aus dem ausgelieferten Quellcode und den mitgelieferten Demo-Projekten, nicht aus Pseudocode. Unit-Namen stehen in jeder uses-Klausel, die Ereignisbehandler tragen ihre echten Signaturen, und die Fehlerfälle, die einen Nachmittag kosten, werden dort genannt, wo sie auftreten, statt in einer Fußnote.

Was es kostet, bevor du anfängst

Jede Seite nennt oben das Produkt, die Edition, die Compiler-Versionen und die Plattformen, die die Aufgabe braucht. Die Hälfte dieser Funktionen steckt hinter einem {$IFDEF} in sgcVer.inc, eine Methode, die sich nicht auflösen lässt, ist also eine Antwort zur Lizenz und keine zur Syntax, und das weiß man besser auf Seite eins.

Wähle die Aufgabe, an der du arbeitest

Jede Zusammenfassung hier unten ist lang genug, um die Frage für sich allein zu beantworten, du kannst also entscheiden, ob die vollständige Seite deine nächsten zwanzig Minuten wert ist, bevor du sie öffnest.

Ein LLM aus Delphi aufrufen

Schicke einen Prompt aus einer VCL-, FMX- oder Konsolenanwendung und bekomme eine Antwort zurück, von einem gehosteten Modell wie OpenAI oder Anthropic Claude oder von einem Modell, das über Ollama auf deinem eigenen Rechner läuft. Es gibt zwei Wege. TsgcAIChat stellt jeden Anbieter hinter eine einzige API, ein Anbieterwechsel ist also eine einzige Zuweisung an Provider, und die herstellereigenen Clients TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic und TsgcHTTP_API_Ollama bilden jede Hersteller-API vollständig ab, wenn du Vision-Eingaben, Batches, Embeddings oder Transkription brauchst.

Danach behandelt die Seite die drei Dinge, auf die jedes Projekt als Nächstes stößt. Streaming, damit der Text schon im Memo erscheint, während das Modell noch schreibt, sowohl auf der Ebene der dekodierten Deltas als auch auf der Ebene der rohen Events. Tool Calling, wo du eine Pascal-Funktion als JSON Schema beschreibst und das Modell dich bittet, sie auszuführen. Und die Wahl zwischen einem gehosteten und einem lokalen Modell, die für alles, was unter einen Auftragsverarbeitungsvertrag fällt, eine Entscheidung der Compliance ist und keine der Geschwindigkeit.

Braucht: sgcWebSockets Enterprise oder das eigenständige Paket sgcAI. Die REST-Clients kompilieren unter Windows, macOS, Linux, iOS und Android; TsgcAIChat gibt es nur für Windows, die Seite zeigt daher beide Wege.

Anleitung lesen →

Einen Nutzer mit OAuth2 und PKCE anmelden

Der Authorization-Code-Flow mit PKCE, also der Flow, den heute jeder Anbieter von einer nativen Desktop-Anwendung erwartet, angetrieben von einer einzigen nicht visuellen Komponente. Kein eingebetteter Browser, kein eigener Webserver, kein REST-Framework. TsgcHTTP_OAuth2_Client erzeugt den Verifier, leitet die Challenge daraus ab, öffnet den Systembrowser, lauscht auf einem Loopback-Redirect, tauscht den Code ein und feuert OnAfterAccessToken mit dem Token.

Auf dem Desktop geht der Flow beim Redirect schief, die Seite nimmt sich dafür also echte Zeit: warum der Redirect eine Loopback-Adresse ist und keine öffentliche URL, was du beim Anbieter registrierst, und was dir redirect_uri_mismatch sagen will. Danach kommen die Refresh Tokens, damit der Browser sich kein zweites Mal öffnet, das Ablegen einer Anmeldeinformation, ohne sie herumliegen zu lassen, die fertigen Google- und Microsoft-Komponenten, und die XOAUTH2-Übergabe, die Gmail und Microsoft 365 inzwischen über SMTP und IMAP verlangen.

Braucht: sgcWebSockets Standard und darüber, oder das eigenständige Paket sgcAuth. Windows, macOS, Linux, iOS und Android. Nur die Server-Hälfte der Autorisierung ist eine Enterprise-Funktion.

Anleitung lesen →

Zwei Anwendungen per WebRTC Peer-to-Peer verbinden

Zwei Anwendungen in zwei verschiedenen Netzen tauschen einen Chat-Kanal, einen Mikrofon-Stream und einen Kamera-Stream direkt untereinander aus, ohne Medienserver dazwischen und ohne Browser im Prozess eingebettet. Die Seite teilt WebRTC in die vier Probleme auf, die es wirklich ist: die Sitzung als SDP-Offer und -Answer beschreiben, diese Beschreibung zur Gegenseite bringen, einen Weg durch die NATs finden und die Bytes bewegen.

Das Signalling ist der Teil, den du selbst schreibst, es steht deshalb hier vollständig als einfaches Relay über TsgcWebSocketServer mit drei Nachrichtenarten. Dann die Peer Connection und ihre Events, die ICE-Kandidaten und was dich Host-, Server-Reflexive- und Relay-Kandidaten jeweils kosten, der TURN-Schalter, den alle vergessen, SCTP-Datenkanäle mit Zuverlässigkeit je Kanal, und Audio- und Videospuren, die ein anderer Transport mit anderen Fehlerbildern sind als ein Datenkanal. Zum Schluss die Fehler, die überhaupt keine Meldung erzeugen, und genau das macht Peer-to-Peer so schwer zu debuggen.

Braucht: die Peer Connection sowie die ICE- und TURN-Clients kommen mit sgcWebSockets Enterprise. Die Methoden für Offer und Answer, die Datenkanäle und die Medienspuren brauchen das sgcWebRTC-Pack oben auf Enterprise, das auch in All-Access enthalten ist. Ein STUN-Client kommt schon mit Standard.

Anleitung lesen →

Weitere Aufgaben werden gerade aufgeschrieben. Wenn die, an der du arbeitest, noch nicht dabei ist, deckt der Blog Artikel für Artikel viel vom selben Gelände ab, und der Support zeigt dir in der Zwischenzeit das passende Demo-Projekt.

Produkt, Edition und Plattform auf einen Blick

Dieselben Angaben, die jede Seite in ihrem Eröffnungsabschnitt macht, hier gesammelt, damit du die Kosten von drei Aufgaben vergleichen kannst, ohne drei Tabs zu öffnen.

Anleitung Wichtigste Komponenten Produkt und Edition Plattformen
Ein LLM aus Delphi aufrufen TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise, oder das eigenständige Paket sgcAI REST-Clients unter Windows, macOS, Linux, iOS und Android. TsgcAIChat unter Windows.
OAuth2-Login mit PKCE TsgcHTTP_OAuth2_Client, dazu die Google- und Microsoft-Wrapper sgcWebSockets Standard und darüber, oder das eigenständige Paket sgcAuth Windows, macOS, Linux, iOS und Android
WebRTC zwischen zwei Anwendungen TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise für die Peer Connection, dazu das sgcWebRTC-Pack für Offer und Answer, Datenkanäle und Medien. Beides steckt in All-Access. Windows für Aufnahme und Wiedergabe. Der Transport selbst ist plattformübergreifend.

Jede Angabe zur Edition hier oben ist die, die sgcVer.inc in der ausgelieferten Bibliothek durchsetzt. Die vollständige Aufschlüsselung steht in der Delphi-Funktionsmatrix, und die Seite welche Edition geht dieselbe Entscheidung von der anderen Richtung an.

Wenn eine Aufgabenanleitung nicht das war, was du wolltest

Diese Seiten beantworten die Nachbarfragen: was eine Komponente tut, wie sie heißt, wie sie im Vergleich abschneidet und was sie kostet.

sgcWebSockets Die Bibliothek hinter jeder Anleitung auf dieser Seite, von WebSocket und HTTP/2 bis zu MQTT, AMQP, WebRTC und den KI-Clients.
Bibliotheksvergleich Wählst du noch eine Bibliothek aus, statt Code zu schreiben? Der Vergleichs-Hub stellt sgcWebSockets neben Indy, ICS, TMS, mORMot 2, IPWorks und Chilkat.
Komponentenreferenz Jede Komponente der Bibliothek, mit den Eigenschaften, Methoden und Ereignissen, die sie veröffentlicht, und einem technischen Dokument dahinter.
Glossar Die Begriffe aus Protokoll, Kryptografie und Authentifizierung, die diese Anleitungen verwenden, jeder verlinkt mit dem RFC, der ihn definiert.
Blog Mehrere hundert ausgearbeitete Artikel, darunter die Release-Beiträge, aus denen jede dieser Anleitungen schöpft.
Editionen und Preise Was Standard, Professional, Enterprise und All-Access jeweils enthalten, und wo die eigenständigen Pakete hineinpassen.

Jede Anleitung beginnt mit demselben Download

Die Testversion ist die komplette Bibliothek mit jeder aktivierten Komponente, und die Demo-Projekte, auf die jede Anleitung verweist, stecken darin.