Ook op YouTube.

sgcUI 2026.11: sgcChat, AI-assistent en teamchat voor Delphi en .NET | eSeGeCe Blog

sgcUI 2026.11: sgcChat, AI-assistent en teamchat voor Delphi, C++ Builder en .NET

· Releases
sgcUI 2026.11: sgcChat, AI-assistent en teamchat voor Delphi en .NET
✦  Nieuwe release · sgcUI 2026.11

Maak kennis met sgcChat.
Een chat in uw applicatie.

Een AI-assistent die zijn antwoorden als opgemaakte Markdown streamt, en een teamchat met aanwezigheid, typindicator, leesbevestigingen en reacties. Native controls voor Delphi, C++ Builder en .NET.

  • VCL
  • FireMonkey
  • WinForms
  • WPF
  • Avalonia
  • Headless SVG en PNG
Een gesprek met een AI-assistent en een teamchat naast elkaar, getekend door sgcChat
16sgcUI-producten
4chatcontrols
5UI-frameworks
12talen

Vandaag verschijnt sgcUI 2026.11. De release voegt een nieuw product toe, sgcChat, dat een AI-assistentchat en een teamchat in uw eigen applicatie plaatst, en vult een reeks kleinere hiaten in de hele suite: gauges die gebruikersinvoer accepteren, databinding die de dataset in beide richtingen volgt, een dashboard dat als webpagina wordt gepubliceerd, terugkerende Outlook-reeksen in de planner, scripts in rapporten en meer.

sgcChat is het zestiende sgcUI-product. Het draait op VCL en FireMonkey voor Delphi en C++ Builder, en op WinForms, WPF en Avalonia voor .NET, en zit in sgcUI Enterprise en All-Access. Het wordt niet als apart pakket verkocht.

sgcChat: een AI-assistent in uw applicatie

Een AI-antwoord komt in kleine stukjes binnen, en gebruikers verwachten het te kunnen lezen terwijl het wordt geschreven. TsgcChatAI koppelt een gesprek aan een provider, verstuurt de geschiedenis en de systeemprompt, en toont elk stukje als opgemaakte Markdown zodra het binnenkomt. De provider draait op een worker thread, zodat het venster responsief blijft, en het chatpaneel biedt stoppen, opnieuw genereren en bewerken en opnieuw verzenden voor elk antwoord.

Een gesprek met een AI-assistent in het sgcChat-paneel
De AI-assistent in het chatpaneel.

sgcChat bindt u niet aan één AI-leverancier. TsgcChatAIProvider_AIChat maakt verbinding met TsgcAIChat van sgcWebSockets, dat met OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok en Mistral praat. TsgcChatAIProvider_UICore gebruikt de AI-providerlaag die elk sgcUI-product deelt, en met TsgcChatAIEventProvider streamt u in een event vanuit uw eigen backend. Zo antwoordt een TsgcChatAI-binding met OpenAI:

uses
  SysUtils, Classes,
  // sgcWebSockets
  sgcAI, sgcAI_Chat,
  // sgc
  sgcChat_AI, sgcChatWS_AI;

procedure UseOpenAI(aAI: TsgcChatAI; const aApiKey: string);
var
  oChat: TsgcAIChat;
  oProvider: TsgcChatAIProvider_AIChat;
begin
  oChat := TsgcAIChat.Create(aAI.Owner);
  oChat.Provider := aicpOpenAI;
  oChat.ChatOptions.ApiKey := aApiKey;
  oChat.ChatOptions.Model := 'gpt-4o-mini';

  oProvider := TsgcChatAIProvider_AIChat.Create(aAI.Owner);
  oProvider.Chat := oChat;

  aAI.Model := oChat.ChatOptions.Model;
  aAI.Provider := oProvider;
end;

Wijzig Provider om Anthropic, Gemini, DeepSeek, Ollama, Grok of Mistral te gebruiken. De sgcChat-help bevat de volledige quick start.

Praten met Claude, OpenAI, Gemini en de andere LLM-providers vereist sgcWebSockets, dat bij All-Access is inbegrepen. TsgcChatAIProvider_AIChat zit in het brugpakket sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Zonder sgcWebSockets laat TsgcChatAIEventProvider je eigen code elke AI-service aanroepen.

sgcChat: een teamchat op uw eigen server

Helpdesks, buitendienstteams en interne tools hebben een chat nodig die hun gebruikers al kennen. De chatweergave groepeert de berichten van elke auteur met een avatar en een naam, toont wie online, afwezig of bezet is, toont wie er typt en markeert elk bericht als verzonden, afgeleverd of gelezen. Gebruikers reageren op een bericht, voegen een reactie toe, bewerken of verwijderen hun eigen berichten en versturen bijlagen met miniaturen van afbeeldingen en bestandschips.

Een teamchat met avatars, aanwezigheid en leesbevestigingen in sgcChat
Een teamchat met aanwezigheid, typindicator en leesbevestigingen.

De chat hangt niet af van één server. TsgcChatEventTransport geeft elk bericht, elke wijziging van de typstatus, elke bevestiging en elke reactie als gedocumenteerd JSON-frame aan uw code. Met sgcWebSockets verbindt TsgcChatTransport_WebSocket een client en geeft TsgcChatServer_WebSocket de berichten door tussen de clients van een kanaal, houdt de aanwezigheid van elke gebruiker bij en stuurt de laatste berichten naar gebruikers die later binnenkomen. De relay draait in een service of een consoleprogramma:

function CreateRelay(aOwner: TComponent; aPort: Integer)
  : TsgcChatServer_WebSocket;
var
  oServer: TsgcWebSocketServer;
begin
  oServer := TsgcWebSocketServer.Create(aOwner);
  oServer.Port := aPort;
  // the relay needs no main thread
  oServer.NotifyEvents := neNoSync;

  Result := TsgcChatServer_WebSocket.Create(aOwner);
  Result.Server := oServer;
  // the last 100 messages of every channel go to late joiners
  Result.HistoryCount := 100;

  oServer.Active := True;
end;

Beide Delphi-voorbeelden hierboven zijn ongewijzigd overgenomen uit de voorbeelden van de sgcChat-help, die met Delphi 13 (Win32) zijn gecompileerd tegen de bronnen van sgcUI en sgcWebSockets.

De WebSocket-teamchat vereist sgcWebSockets, dat bij All-Access is inbegrepen. TsgcChatTransport_WebSocket en TsgcChatServer_WebSocket zitten in het brugpakket sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Zonder sgcWebSockets verbindt TsgcChatEventTransport de chat met elke backend.

sgcChat: een native Markdown-viewer

De engine achter de chatballonnen is ook een control op zich. TsgcVCLMarkdownViewer en TsgcFMXMarkdownViewer tonen koppen, nadruk, citaten, lijsten, takenlijsten, tabellen, links en afbeeldingen, en markeren de codeblokken van Pascal, C#, C++, JavaScript, Python, JSON, SQL en andere talen. AppendMarkdown voegt tekst toe zodra die binnenkomt, en gebruikers selecteren en kopiëren de tekst of een heel codeblok met de kopieerknop. Gebruik het voor release notes, helppagina's en berichten in Markdown.

De sgcChat Markdown-viewer in het lichte thema
Markdown-viewer, licht
De sgcChat Markdown-viewer in het donkere thema
Markdown-viewer, donker

sgcChat past bij de rest van de suite

De chat volgt de thema's Licht, Donker en Fluent van sgcUI. Een gesprek in het Arabisch of Hebreeuws wordt gespiegeld, en de teksten van de controls zijn vertaald in de 12 sgcUI-talen. Op Windows is de chatweergave voor schermlezers een lijst met berichten, met de auteur en het tijdstip van elk bericht. Het gespreksmodel, het Markdown-document en de weergave zijn niet afhankelijk van VCL of FireMonkey, zodat een service een gesprek of een Markdown-document zonder venster naar SVG of PNG kan renderen, ook op Linux64.

De componenten zijn TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput en TsgcVCLMarkdownViewer, dezelfde set met het voorvoegsel TsgcFMX voor FireMonkey, en dezelfde controls voor WinForms, WPF en Avalonia, zoals TsgcWinFormsChatPanel, TsgcWpfChatPanel en TsgcAvaloniaChatPanel. De demo's behandelen een AI-assistent, een teamchatclient met zijn relayserver en de Markdown-viewer, voor VCL, FireMonkey, C++ Builder, WinForms, WPF en Avalonia.

sgcChat wordt verkocht als onderdeel van sgcUI Enterprise en de All-Access-bundel, die ook sgcWebSockets bevat voor de AI-provider en de WebSocket-bridge. Bekijk de sgcChat-pagina en de functiematrix.

Door de hele suite: invoer, data en uitvoer

De rest van de release vult kleinere hiaten in de producten: controls die gebruikersinvoer accepteren, databinding die de dataset in beide richtingen volgt, en meer manieren om een scherm uit de applicatie te halen.

sgcGauges: invoergauges en skins

Vier invoergauges, TsgcVCLKnobGauge, TsgcVCLSliderGauge, TsgcVCLToggleSwitchGauge en TsgcVCLPushButtonGauge (TsgcFMX op FireMonkey, en dezelfde namen in WinForms, WPF en Avalonia), laten de gebruiker een waarde instellen met de muis, aanraking, het wiel of het toetsenbord. OnUserChange wordt alleen gestart bij wijzigingen van de gebruiker, en schermlezers zien ze als een schuifregelaar, een schakelaar en een knop. sgcGauges heeft nu zestien gaugetypen, de tank- en processymboolgauges van het HMI-pakket hieronder meegeteld.

Skin geeft elke gauge een nieuwe look: Classic, Modern, Industrial, ISA101, Dark of een eigen skin die u registreert met sgcGaugesRegisterSkin. TsgcGaugeDataLink toont een datasetveld op elke gauge en schrijft de wijzigingen van een invoergauge terug naar het veld. Zie de functies van sgcGauges en de help over invoergauges.

Live en tweewegs databinding

De producten volgen een Delphi-TDataSet, of een DataTable in .NET, terwijl die verandert, en de bewerkbare producten schrijven de wijzigingen van de gebruiker terug:

sgcDiagram, sgcPivotGrid, sgcGauges en sgcDashboard hebben dezelfde binding in .NET. De functiematrix van sgcUI toont wat elke editie bevat.

sgcPlanner: Outlook-reeksen, Google-herinneringen en capaciteit

TsgcPlannerGraphSync haalt nu terugkerende Outlook-reeksen binnen als één terugkerend item met zijn RRULE, gewijzigde voorvallen als gewijzigde voorvallen en geannuleerde als uitzonderingen, en stuurt reeksen die in de planner zijn gemaakt terug naar Outlook. TsgcPlannerGoogleSync stuurt herinneringen die in de planner zijn gewijzigd naar Google Agenda wanneer een afspraak wordt bijgewerkt, en leest de in Google gewijzigde terug. Een Capacity per resource (1 voor één voltijdse medewerker, 0.5 voor halftijds, 3 voor een team van drie) stuurt de capaciteitslijn van het belastinghistogram aan, en wordt als MaxUnits gelezen en geschreven in Microsoft Project XML. Zie de functies van sgcPlanner.

sgcDashboard: publiceren op het web en de kaarttegel overal

SaveToHTML schrijft een dashboard als één op zichzelf staande HTML-pagina. Elke tegel wordt als SVG getekend door dezelfde code die hem afdrukt, op een CSS-grid dat de breekpunten van het dashboard volgt, en elke tegel heeft een kop en een tekstalternatief voor schermlezers. Zonder verversings-URL bevat de pagina helemaal geen script. In .NET bestaat de kaarttegel nu ook voor WPF en Avalonia, en verschijnen kaarten in de afdruk-, PDF- en HTML-uitvoer van het dashboard. Lees de help over publiceren op het web en de functies van sgcDashboard.

sgcMaps: de kaart op elk canvas tekenen

DrawTo op TsgcVCLMap, TsgcFMXMap en de WinForms-SgcMapControl tekent de huidige weergave, met geladen tegels, in een rechthoek van elk sgcUI-canvas, en de WPF- en Avalonia-kaarten renderen ook op elk sgcUI-canvas. Zo komt een kaart in een dashboardtegel in de afdruk, de PDF en de HTML-pagina terecht. Zie de functies van sgcMaps.

sgcWizard: overgangen en een samenvattingspagina

Transition animeert het wisselen van pagina met een schuif, een fade of beide, gespiegeld in lay-outs van rechts naar links, en ReduceMotion volgt de animatie-instelling van Windows. Met ShowSummary voegt de wizard een laatste pagina toe met de velden en waarden die de gebruiker op elke bezochte pagina heeft ingevoerd, met gemaskeerde wachtwoorden en een link Bewerken die teruggaat naar elke pagina. Zie de functies van sgcWizard en de help over de samenvattingspagina.

sgcReports: scripting en de FireMonkey-voorvertoning op elk platform

TsgcReport.Script bevat procedures in een kleine Pascal-achtige taal, opgeslagen in de rapportdefinitie en de JSON. Het rapport voert een script uit bij het starten en bij het eindigen, en bij elke band en elk item voor en na het afdrukken, zodat een script een band kan verbergen of de tekst, de letterkleur of de hoogte van een item voor de huidige afdruk kan wijzigen. De designers van VCL, FireMonkey, WinForms, WPF en Avalonia bewerken het script met een knop Controleren die de regel en kolom van een fout toont. De FireMonkey-voorvertoning draait op Windows, macOS, iOS en Android, met pannen met aanraking en knijpzoomen, en op iOS en Android openen Afdrukken en Opslaan als PDF het deelvenster van het systeem. Zie de functies van sgcReports en de help over scripting.

sgcPDF voor .NET: annotaties bewerken en formulieren invullen in WPF en Avalonia

De WPF- en Avalonia-viewers doen nu wat de WinForms-viewer doet: gebruikers maken, verplaatsen, vergroten of verkleinen, bewerken en verwijderen annotaties met de muis (AnnotationEditing en AnnotationTool), en met FormFilling vullen ze tekstvelden, selectievakjes, keuzerondjes, keuzelijsten met invoer en lijsten in, waarbij Tab de velden in hun tabvolgorde doorloopt. Zie de functies van sgcPDF.

Toegankelijkheid op elk platform gecontroleerd

De UI Automation-boom van elke productdemo, de boom die schermlezers zoals Narrator en NVDA lezen, is gecontroleerd met een UI Automation-client op VCL, FireMonkey, WinForms, WPF en Avalonia, en de gevonden problemen zijn opgelost. De VCL-editors melden nu het label van het veld in plaats van de waarde, een vlakke navigatiebalk is een lijst in plaats van een boom, de statusbalken van WinForms en WPF nemen de toetsenbordfocus niet meer, de cellen van het Avalonia-grid herhalen hun kolomnaam niet meer, en de grafiekpunten en andere getekende items van de Avalonia-controls melden hun positie op het scherm.

Visual Studio-smart tags en XAML

De smart tags van alle 69 WinForms-toolboxcomponenten zijn getest op een designoppervlak: elke eigenschap, collectie-editor, gegevensbronlijst, actie en verb. In WPF en Avalonia worden de tegels van sgcDashboard en de skins van sgcGauges in XAML gedeclareerd onder hetzelfde voorvoegsel sgc als de kolommen, velden en reeksen van de andere producten.

sgcEditors: layoutbesturingselement en gegevensformulieren

Het nieuwe layoutbesturingselement, TsgcVCLLayoutControl en TsgcFMXLayoutControl (en dezelfde namen in WinForms, WPF en Avalonia), rangschikt de besturingselementen van een formulier in groepen, groepen met tabbladen en kolommen, met bijschriften op één breedte uitgelijnd, splitters die de gebruiker kan slepen en layouts van rechts naar links. SaveLayout en LoadLayout bewaren de indeling die de gebruiker heeft gemaakt als JSON. Het layoutbesturingselement zit in elke editie, ook in Community. Delphi Community heeft geen ontwerptijdpakket voor sgcEditors, dus daar wordt het in code aangemaakt.

Het gegevensformulier bouwt hierop voort. TsgcVCLDataForm en TsgcFMXDataForm genereren een compleet bewerkformulier uit een TDataSet, of uit de published-eigenschappen van een klasse met BindObject, en de gegevensformulieren voor WinForms, WPF en Avalonia nemen een DataTable, een lijst of een object. Elk veld krijgt een sgcEditors-besturingselement, de regels van de sgcUICore-validator en een plek in een groep of op een tabblad, en een navigator doorloopt, voegt toe, bewerkt, verwijdert en slaat de records op. Smart Paste vult het hele record uit een geplakte tekst via de AI-laag die de editors al gebruiken, en markeert de velden die het heeft ingevuld. Het gegevensformulier zit in de geregistreerde editie, op VCL, FireMonkey, C++Builder, WinForms, WPF en Avalonia:

uses
  Forms, Controls, DB,
  sgcUICore_AI, sgcEditors_DataForm, sgcEditors_VCL_DataForm;

function CreateCustomerForm(aOwner: TForm; aSource: TDataSource;
  aProvider: TsgcUIAIProvider): TsgcVCLDataForm;
var
  oField: TsgcDataFormField;
begin
  Result := TsgcVCLDataForm.Create(aOwner);
  Result.Parent := aOwner;
  Result.Align := alClient;
  // an open dataset: one field, one editor and one rule per TField
  Result.DataSource := aSource;
  oField := Result.Fields.FindField('EMAIL');
  oField.Kind := edfEmail;
  oField.Required := True;
  oField.Group := 'Contact';
  Result.Fields.FindField('PHONE').Group := 'Contact';
  Result.RebuildEditors;
  // the Smart Paste button of the navigator fills every field from the
  // clipboard; without a provider a local parser reads "Name: value" lines
  Result.Provider := aProvider;
end;

Zie de functies van sgcEditors en de help van het gegevensformulier.

sgcUI HMI-pakket: tanks, P&ID, alarmen en een NumPad

Het HMI-pakket brengt processchermen naar sgcUI: bedieningspanelen, tankopslagen, pompstations en andere installatieschermen. Het is geen nieuw product. Elk onderdeel zit in het product dat het uitbreidt en volgt de editie ervan, op VCL en FireMonkey, C++ Builder, en WinForms, WPF en Avalonia in .NET. Roep sgcUIApplyISA101 één keer aan en elk sgcUI-besturingselement schakelt over op het grijze ISA-101-schema, waarin kleur is bewaard voor abnormale toestanden en alarmen.

De applicatie blijft de baas over de installatie: ze haalt de waarden uit haar eigen drivers, een database of de gaugebridge, en bepaalt wanneer een alarm wordt gegeven. Er is geen OPC UA- of Modbus-driver. De tank- en processymboolgauges, de alarmlijst en de NumPad zitten in elke editie, Community inbegrepen, terwijl de P&ID-stencils, de procestoestanden en geanimeerde leidingen, de gaugefeeds en het kwiteringslogboek van alarmen geregistreerd zijn. De HMI-suitedemo zet de onderdelen samen op een kleine tankopslag die door een simulator wordt aangestuurd. Lees de pagina over het sgcUI HMI-pakket en de HMI-pakkethulp.

sgcUI Realtime UI-pakket: aanwezigheid, meldingen, activiteitenfeeds en live logs

Het Realtime UI-pakket geeft sgcUI de onderdelen van een live scherm voor Delphi, C++Builder en .NET. Het is geen nieuw product. Elk onderdeel zit in het product dat het uitbreidt. sgcUICore voegt een aanwezigheidsmodel toe met avatars, een avatargroep en een aanwezigheidsindicator. sgcNavigation voegt een meldingencentrum toe met toastmeldingen, een inbox gegroepeerd per dag en voorkeuren per categorie en kanaal, terwijl TsgcToolbarBadgeLink van sgcToolbar het aantal ongelezen meldingen toont op een item van een werkbalk of ribbon. sgcDashboard voegt een activiteitenfeed en een audittrail toe, als losse besturingselementen en als dashboardtegels, en sgcGrid voegt een live logviewer toe met niveaus, filters, meelopen met het einde, pauze en export.

Elk model neemt per wijziging één JSON-bericht aan. In de geregistreerde editie voeden de live bronnen WebSocket, MQTT en SSE van de brug sgcUICoreWS ze zonder code vanuit sgcWebSockets. Elk besturingselement komt met de editie van zijn product. Zonder server, of in een Community-build, werkt de toepassing de modellen in plaats daarvan bij via hun API. Lees de pagina over het sgcUI Realtime UI-pakket.

Getting Started-gidsen voor elk product

Elk sgcUI-product levert nu vijf QuickStart-demo's voor Delphi (VCL) en een Getting Started-gids, in HTML naast de demo's en als pdf. De demo's gaan van het eerste formulier tot een kleine complete applicatie, en de gids legt elke stap uit. Begin met de sgcGrid-gids, de sgcCharts-gids of de sgcChat-gids.

Alle 16 gidsen staan in het gedeelte met gidsen van de sgcUI-snelstart.

Probeer sgcChat en sgcUI 2026.11

Eén proefversie voor Delphi en één voor C++ Builder installeren alle 16 sgcUI-producten.

Vragen of feedback? Neem contact op, u krijgt antwoord van de mensen die de code hebben geschreven.