Delphi use cases: één taak, één pagina

Een productpagina vertelt je wat een component doet. Een referentiepagina vertelt je hoe elke property heet. Geen van beide vertelt je hoe je de klus afmaakt waarvoor je bent gaan zitten. Deze pagina's doen dat wel. Elke pagina brengt één taak van een leeg formulier naar werkende code, noemt bij elke stap de unit en de component, en zegt vooraf welk product, welke editie en welke platforms nodig zijn, zodat je de kosten kent voordat je de eerste regel schrijft.

Één taak per pagina, van begin tot eind
Pascal uit de meegeleverde broncode
Editie en platform worden vooraf genoemd
Van Delphi 7 tot RAD Studio 13

Wat een use case-pagina je geeft

Elke pagina op deze lijst volgt dezelfde opzet, want het zijn altijd dezelfde drie vragen, in dezelfde volgorde gesteld.

Een klus, geen component

De pagina is opgebouwd rond het resultaat dat je wilt, dus de componenten komen langs op het moment dat de taak ze bereikt. Waar een klus meerdere componenten omvat, staan ze er allemaal, in de volgorde waarin je ze echt tegenkomt. Waar twee routes bestaan, worden ze allebei getoond en wordt de afweging ertussen uitgeschreven.

Code die je kunt plakken

De Pascal komt uit de meegeleverde broncode en de demoprojecten in het pakket, niet uit pseudocode. Unitnamen staan in elke uses-clausule, event handlers dragen hun echte signatuur, en de foutgevallen die je een middag kosten worden benoemd waar ze optreden en niet in een voetnoot.

Wat het kost voordat je begint

Elke pagina noemt bovenaan het product, de editie, de compilerversies en de platforms die de klus nodig heeft. De helft van deze functies zit achter een {$IFDEF} in sgcVer.inc, dus een methode die niet wordt gevonden is een licentieantwoord en geen syntaxprobleem, en dat weet je liever op pagina één.

Kies de klus die je doet

Elke samenvatting hieronder is lang genoeg om de vraag op zichzelf te beantwoorden, zodat je kunt bepalen of de volledige pagina je volgende twintig minuten waard is voordat je hem opent.

Een LLM aanroepen vanuit Delphi

Stuur een prompt vanuit een VCL-, FMX- of consoletoepassing en krijg een antwoord terug, van een gehost model zoals OpenAI of Anthropic Claude, of van een model dat op je eigen machine draait via Ollama. Er zijn twee routes. TsgcAIChat zet elke provider achter één API, dus van leverancier wisselen is één toewijzing aan Provider, en de clients per leverancier TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic en TsgcHTTP_API_Ollama ontsluiten elke leveranciers-API volledig wanneer je vision-invoer, batches, embeddings of transcriptie nodig hebt.

Daarna behandelt de pagina de drie dingen die elk project vervolgens tegenkomt. Streaming, zodat tekst in de memo verschijnt terwijl het model nog schrijft, zowel op het niveau van de gedecodeerde delta's als op het niveau van de ruwe events. Tool calling, waarbij je een Pascal-functie beschrijft als JSON Schema en het model je vraagt die uit te voeren. En de keuze tussen een gehost model en een lokaal model, wat voor alles wat onder een verwerkersovereenkomst valt een compliancebeslissing is en geen prestatiebeslissing.

Nodig: sgcWebSockets Enterprise of het losse package sgcAI. De REST-clients compileren op Windows, macOS, Linux, iOS en Android; TsgcAIChat werkt alleen op Windows, dus de pagina laat beide routes zien.

Lees de gids →

Een gebruiker inloggen met OAuth2 en PKCE

De Authorization Code-flow met PKCE, de flow die elke provider tegenwoordig verwacht van een native desktoptoepassing, aangestuurd door één niet-visuele component. Geen ingebouwde browser, geen eigen webserver, geen REST-framework. TsgcHTTP_OAuth2_Client genereert de verifier, leidt de challenge af, opent de systeembrowser, luistert op een loopback-redirect, wisselt de code in en vuurt OnAfterAccessToken af met het token.

Waar de flow op de desktop misgaat is de redirect, dus daar besteedt de pagina echt tijd aan: waarom de redirect een loopback-adres is en geen publieke URL, wat je bij de provider registreert, en wat redirect_uri_mismatch je vertelt. Daarna komen refresh tokens aan bod, zodat de browser nooit een tweede keer opengaat, het opslaan van een credential zonder het te laten rondslingeren, de kant-en-klare Google- en Microsoft-componenten, en de XOAUTH2-overdracht die Gmail en Microsoft 365 nu vereisen over SMTP en IMAP.

Nodig: sgcWebSockets Standard en hoger, of het losse package sgcAuth. Windows, macOS, Linux, iOS en Android. Alleen de server-helft van de autorisatie is een Enterprise-functie.

Lees de gids →

Twee Delphi-toepassingen verbinden met WebRTC

Twee toepassingen op twee verschillende netwerken die een chatkanaal, een microfoonstream en een camerastream rechtstreeks met elkaar uitwisselen, zonder mediaserver ertussen en zonder browser in het proces. De pagina splitst WebRTC op in de vier problemen die het in werkelijkheid is: de sessie beschrijven als een SDP offer en answer, die beschrijving naar de andere kant brengen, een pad door de NATs vinden, en de bytes verplaatsen.

Signalling is het deel dat je zelf schrijft, dus het staat er volledig in als een domme relay over TsgcWebSocketServer met drie soorten berichten. Daarna de peer connection en zijn events, ICE-kandidaten en wat host-, server reflexive- en relay-kandidaten je elk kosten, de TURN-schakelaar die mensen vergeten, SCTP-datakanalen met betrouwbaarheid per kanaal, en audio- en videotracks, die een ander transport zijn met andere faalgevallen dan een datakanaal. De pagina sluit af met de storingen die helemaal geen foutmelding opleveren, en dat is wat peer to peer lastig te debuggen maakt.

Nodig: de peer connection en de ICE- en TURN-clients horen bij sgcWebSockets Enterprise. De offer- en answer-methoden, datakanalen en mediatracks vragen het pack sgcWebRTC bovenop Enterprise, dat ook in All-Access zit. Een STUN-client komt al met Standard.

Lees de gids →

Er worden meer klussen uitgeschreven. Staat degene die jij doet er nog niet bij, dan behandelt de blog artikel voor artikel een groot deel van hetzelfde terrein, en wijst ondersteuning je intussen naar het juiste demoproject.

Product, editie en platform in één oogopslag

Dezelfde informatie die elke pagina in zijn openingssectie noemt, bij elkaar gezet zodat je de kosten van drie klussen kunt vergelijken zonder drie tabbladen te openen.

Gids Belangrijkste componenten Product en editie Platforms
Een LLM aanroepen vanuit Delphi TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise, of het losse package sgcAI REST-clients op Windows, macOS, Linux, iOS en Android. TsgcAIChat op Windows.
OAuth2-login met PKCE TsgcHTTP_OAuth2_Client, en de Google- en Microsoft-wrappers sgcWebSockets Standard en hoger, of het losse package sgcAuth Windows, macOS, Linux, iOS en Android
WebRTC tussen twee toepassingen TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise voor de peer connection, plus het pack sgcWebRTC voor offer en answer, datakanalen en media. Beide zitten in All-Access. Windows voor opnemen en weergeven. Het transport zelf is platformonafhankelijk.

Elke uitspraak over edities hierboven is degene die de meegeleverde sgcVer.inc afdwingt. De volledige uitsplitsing staat in de Delphi-functiematrix, en de pagina welke editie loopt dezelfde beslissing van de andere kant door.

Als een taakgids niet is wat je zocht

Deze pagina's beantwoorden de vragen ernaast: wat een component doet, hoe het heet, hoe het zich verhoudt tot de rest, en wat het kost.

sgcWebSockets De bibliotheek achter elke gids op deze pagina, van WebSocket en HTTP/2 tot MQTT, AMQP, WebRTC en de AI-clients.
Bibliotheken vergelijken Nog aan het kiezen tussen bibliotheken in plaats van code aan het schrijven? De vergelijkingshub zet sgcWebSockets naast Indy, ICS, TMS, mORMot 2, IPWorks en Chilkat.
Componentreferentie Elke component in de bibliotheek, met de properties, methoden en events die elk ervan publiceert, en een technisch document erachter.
Woordenlijst De protocol-, cryptografie- en authenticatietermen die deze gidsen gebruiken, elk gekoppeld aan de RFC die de term definieert.
Blog Enkele honderden uitgewerkte artikelen, inclusief de releaseberichten waarop elk van deze gidsen steunt.
Edities en prijzen Wat Standard, Professional, Enterprise en All-Access elk bevatten, en waar de losse packs passen.

Elke gids begint met dezelfde download

De proefversie is de volledige bibliotheek met elke component ingeschakeld, en de demoprojecten waarnaar elke gids verwijst zitten erin.