Die Neuerungen in RAD Studio 13

Dieses Webinar stellt RAD Studio 13 "Florence" vor, eine integrierte Entwicklungsumgebung (IDE) von Embarcadero, die für die Entwicklung nativer Anwendungen für verschiedene Plattformen wie Windows, macOS, iOS, Android und Linux konzipiert ist. Die Präsentation wird von David Espenschied, Pre-Sales Consultant bei Embarcadero Deutschland, geleitet, mit Roland Appel, verantwortlich für technisches Marketing, als technischem Support. Ein wichtiger Schwerpunkt des Updates liegt auf den Erweiterungen für Delphi, die die Einführung des ternären Operators beinhalten – eine stark nachgefragte Funktion, die eine effizientere Zuweisung von Variablen basierend auf Bedingungen ermöglicht.
Des Weiteren wurde die Sprachfunktion "nameof" als intrinsische Funktion hinzugefügt, um Code-Bezeichner als String zu ermitteln. Auch neue Compiler-Direktiven wie "pushopt" und "popopt" zur Speicherung und Wiederherstellung von Compiler-Einstellungen sowie die Operatoren "is not" und "not in" wurden integriert. Für C++-Entwickler bietet RAD Studio 13 ein Upgrade auf C++ Builder mit dem neuen Compiler C-Link 20, der den C++23-Standard unterstützt und somit eine modernere Toolchain ermöglicht.
Die zuvor als "Initial Release" bezeichnete 64-Bit-IDE ist jetzt vollständig funktionsfähig, behebt Speicherlimitierungen und ist standardmäßig bei der Installation integriert. Weitere Verbesserungen umfassen Optimierungen bei der Code-Vervollständigung und dem Code-Tooling für Delphi und C++, wobei für Delphi eine Übergangslösung zur Reaktivierung des klassischen Code Insight geschaffen wurde, während die LSP-Optimierungen noch folgen. Der Delphi Upgrade Advisor Assistant, ein neues Tool zur Analyse und Verbesserung von Projektstrukturen, ist über GetIt verfügbar.
Das bisherige Refactoring-Tool wurde durch den MMX Code Explorer Delphi ersetzt, welcher über erweiterte Refactoring-Möglichkeiten, eine Quelldateisuche und Live-Dokumentationsunterstützung verfügt. Die Qualität des Debuggers wurde ebenfalls erheblich verbessert, insbesondere für die 64-Bit-IDE, mit Fokus auf Geschwindigkeit und Stabilität, sowie die Optimierung des Dialogs zum Verbinden mit Prozessen. Herzlich willkommen zu einem weiteren Webinar aus dem Hause Embarcadero an diesem sonnigen Herbsttag.
Ich begrüße alle Teilnehmer zu diesem Webinar zum Thema Radstudio 13 Florenz. Mein Name ist David Espenschied, ich bin Pre Sales Konsultant bei Embarcadero Deutschland. Ebenfalls im Webinar befindet sich Roland Appel, verantwortlich fürs technische Marketing. Guten Morgen Roland. Guten Morgen.
Ich werde nichts weiter reden, erst am Ende. Alles gut, alles gut. Ich werde sie durch die Funktion des neuen Radstudio 13 führen. Wir gehen erst ein paar Slides in Ruhe durch und werden dann zum praktischen Teil übergehen, um einige Demos zu zeigen und zum Schluss das Ganze mit einer Frage und Antwortrunde abzurunden.
Unsere Agenda für dieses Webinar ist einmal der neue ternäre Operator in Delphi. Das ist eine der mit am meisten gewünschten Funktionen, die jetzt mit Radstudio 13 oder Delphi 13 Einzug gehalten hat. Dann wurde Zielen 20 ein Upgrade eingebaut für den C Builder. Die IDE. Die 64 Bit IDE ist jetzt vollständig und bietet den gesamten Funktionsumfang, den die zwei 32 Bit IDE kann.
Genau da kommen wir später dann gleich in Ruhe noch zu. Es gibt Verbesserungen zum Thema Visual Assist und Code Tooling Verbesserungen. Dann steht demnächst bevor ein Smart Core AI Komponentenpaket, um eine AI Funktionalität in eigenen Applikationen einzubauen. Es gibt Verbesserungen bei der VCL und zwar Titelbarstile und auch neue fnx Kontrollen.
Und ebenfalls sind Erweiterungen eingebaut worden zum Thema Webbroker und Web Stencils. Was ist Radstudio? Radstudio ist eine Softwareentwicklungs IDE und man kann unter Delphi native Applikationen bauen für die Plattform Windows, macOS, iOS, Android und Linux. Das Ganze basiert wie immer auf einer Codebasis.
Das ist eine der Stärken und der C Bilder kann Windows Applikationen bauen. 32 und 64 Bit. Das ganze geschieht mit visuellen Designern, einer integrierten AI oder KI, das deutsche Wort dafür, integrierten Toolchains, einem umfassenden Datenzugriff und einer komponentenbasierten Architektur. Das Ganze bedeutet, dass man einen beschleunigten Entwicklungsworkflow, also Arbeitsprozess hat und diese ganzen Vorteile miteinander kombinieren kann.
Starten wir direkt mit den Neuerungen in Delphi. Wie schon gerade angesprochen, gibt es eine Spracherweiterung und zwar der ternäre Operator, der durch die Nutzung von if implementiert wird. Das Ganze hat den Vorteil dass man eine Kondition direkt einer Variable zuweisen kann und eine Abfrage durchführen kann und zwar noch wesentlich effektiver als es das bisherige ifsen Konstrukt ermöglicht hat, weil ifsen ist eine Funktion und der ternäre Operator ist direkt in die Syntax integriert und man hat dort eben diverse Vorteile.
Da kommen wir nachher noch zu einer Demo, werden die im Detail durchsprechen und genau das ist halt ein weiterer Vorteil, den wir hier integriert haben. Weitere Sprachfunktionen sind hinzugekommen und zwar gibt es nameof als intrinsische Funktion. Damit kann man den String von Code Bezeichner ermitteln.
Es gibt zwei neue Compiler Direktiven und zwar pushopt und popopt. Damit kann man die gesamten Compiler Schalter, die Compilerkonfiguration speichern und auch wiederherstellen. Das Ganze ist vergleichbar mit C und zwar mit der Pragma Option, push Option und es wurden implizierte self Parameterlikation in den Rekord Class Operatoren initialize und finish hinzugefügt.
Weiter geht es mit noch mehr Sprachfunktionen und zwar gibt es die neuen is not und not in Operationen. Das Ganze kann man, wie man es hier sehen kann, wunderbar einbauen, indem man zum Beispiel seine Abfrage entsprechend umgestaltet und hier eine neue und alte Syntax miteinander verglichen hat. Gleichzeitig gibt es die no return Direktive, die kann man für Prozeduren bzw.
Funktionen benutzen und man erhält normalerweise bei einer Funktion die compilermeldung die Warnung 1035 wenn kein Rückgabewert definiert ist. Mit der no Return Direktive kann man diese Meldung unter runterdrücken und genau, dass der Compiler quasi keine Warnung mehr anzeigt. Zusätzlich gibt es noch beschränkungen für generische typen interface unmanaged und none 0 und die ifop direktive zur unterstützung langer Direktiven wurde erweitert, sodass man da eben entsprechend lange Direktiven benutzen kann.
Schwenken wir rüber zum C Bilder. Da wurde jetzt beim neuen Compiler C Link 20 eingeführt. Das ist ein neues Update, was Einzug erhalten hat und das Ganze bringt natürlich auch den neuen C Standard C 23 mit. Daraufhin basierend ist die moderne Toolchain standardmäßig auf C 23 gesetzt. Der Benutzer oder der Entwickler kann natürlich flexibel das Ganze umändern oder auf 20 oder auf 17 zurückgehen, je nachdem wie die Wünsche sind oder die Anforderungen.
Eine weitere Verbesserung ist zum Beispiel die C Modern Toolchain und auch da versucht Embarcadero nach wie vor Engagement zu zeigen und den C Bilder fortlaufend zu verbessern. Das haben wir jetzt auch als Rückmeldung von diversen MVPs und Kunden erhalten, dass der C Builder wesentlich stabiler und besser läuft als in den Vorgängerversionen. Weiterhin wurde ein Update von LLVM und C Lenk durchgeführt.
Es gibt eine verbesserte Laufzeit der Adressbereiniger, der sogenannten sanitizer unter Windows 11. Es gibt versionierte geteilte Bibliotheken, die hinzugefügt wurden. Die Kompatibilität wurde verbessert bei Legacy Version der bisherigen C Compiler, also der alten Compiler Version. Und das ist eine wichtige Sache beim C Builder, die eben mit RAD hinzugekommen ist.
3 ist jetzt standardmäßig installiert. Sie kann also nicht mehr separat hinzugefügt werden. Sie ist standardmäßig parallel mit der BIT integriert und installiert und es gibt eine Änderung zum Windows SDK. Bisher war es so, wenn das nicht installiert war oder eine ältere Version installiert war, dass diese Installation automatisch vom radstudio Installer durchgeführt wurde.
Bisher ist es so gewesen, jetzt hat sich das Ganze etwas verändert und zwar bekommt man, wenn es nicht installiert ist oder eine alte Version vorhanden ist, eine Meldung, dass dies der Fall ist und man, wie man hier unten im Screenshot sehen kann, ein Link, wo man sich das selbst herunterladen, installieren kann und das Ganze jetzt nicht mehr über den Installer abgebildet wird. Die internen Versionen, die Compiler Versionen wurden angeglichen auf eine gemeinsame Version, auf die 37 also die Compiler Version lautet dann 370 und wird auch in zukünftigen Versionen wie üblich inkrementiert, also hochgezählt.
Bisher war es so, dass es unterschiedliche Versionen gab, je nachdem ob zum Beispiel eine RTL Version betrachtet wurde oder die FMX Version oder die PA Server Version. Und diese Diskrepanzen, die untereinander stattgefunden haben, wurden jetzt behoben, indem die version einheitlich auf 370 hochgesetzt wurde, also zum Beispiel auch im Installationsordner, der dann eben lautet, oder die anderen Versionen, genauso wie eben in der Registrierung. Wir haben es ja schon angesprochen, die Bit IDE ist jetzt vollständig erlaubt, eben die Kompilierung für die Win Zielplattform stellt also jetzt eine komplette Lösung dar, die keine Speicherlimitierung mehr hat, wie die Bit ID, also man sieht im Task Manager, dass der gesamte zur Verfügung stehende Arbeitsspeicher adressiert werden kann.
Das Ganze enthält jetzt inzwischen mit der neuen version auch das Code Tooling für C mit Visual Assist. Dann werden eben COM Objekte unterstützt, ActiveX und Typ Bibliotheken. 3 noch nicht integriert und das umgeben Menü, also das sogenannte Surround Menü, wo man zum Beispiel geschweifte Klammern oder Try Finally einfügen kann und damit den markierten Code umgeben kann.
Gleichzeitig wurde die IDE stabiler gestaltet und es gibt halt auch Qualitätsverbesserungen für den Debugger, UML Modellierung, die wurde entfernt auch aus der Bit ID und auch verwandte Funktionen dazu, wie Audits und Metriken. Und jetzt kann man trotzdem sagen, dass die Funktionalität vollständig gegeben ist und ich habe es ja schon gesagt, es kann nicht mehr separat abgewählt werden, es wird automatisch installiert und ist jetzt nicht mehr eine Initial Release, sondern die vollständige Version.
Code Tooling für C wurde verbessert und zwar gibt es eine überarbeitete Integration von Visual Assist und zwar ist es standardmäßig aktiviert in der Bit IDE, aber auch in der Bit ID gibt es eine verbesserte Stabilität. Das Ganze funktioniert jetzt auch beim Wechsel zwischen verschiedenen Projekten, auch in den Projektgruppen mit unterschiedlichen Toolchains und diversen Konfigurationen. Das Code Tooling für Delphi hat sich ebenfalls verbessert.
Man muss sagen, dass es nach wie vor noch Probleme oder Performance Probleme mit dem LSP gibt und deswegen wurde, das muss man leider sagen, das wurde jetzt noch nicht eingebaut in Version 13 diese Optimierung, weil dort der Zeitrahmen einfach zu knapp war. Es wurde aber eine Zwischenlösung geschafft, bis das Ganze fertig ist, was wir hoffen, dass es demnächst der Fall ist. Und zwar Delphi Code Insight kann man wieder aktivieren, das klassische Delphi Code Insight, um die Code Vervollständigung wieder verfügbar zu machen.
Gleichzeitig arbeitet Embarcadero natürlich an der Fertigstellung von LSP, sodass wir da das Ganze hoffentlich demnächst allen Kunden zur Verfügung stellen können. Es gibt ein neues tool, was über GetIt verfügbar ist, das werden wir nachher auch in der Demo uns kurz anschauen, und zwar der Delphi Upgrade Advisor Assistent. Das ist ein Tool, was die gesamte Projektstruktur scannt und versucht bestimmte Probleme zu erkennen.
Es gibt zum Beispiel Situationen, wo ungültige Pfade oder bestimmte Units, die in der Usisklausel drin sind, aber nicht benötigt werden, die Kompilierzeit verlängern und der Upgrade Advisor Assistent scannt das Gesamte und prüft das, was eben verbessert werden kann, sodass die Code Tooling Erfahrung und die Kompilierungszeit verbessert werden können. Das Ganze ist über getit verfügbar in Englisch und das werden wir uns zum Schluss auch anschauen im praktischen Teil.
Das Refactoring, man muss sagen, es ist nicht mehr wirklich zufriedenstellend für viele Kunden gewesen, wurde aus Rad 13 entfernt und gleichzeitig wurde ein noch viel besserer Ersatz geschaffen oder integriert. Viele kennen es schon, den MMX Code Explorer Delphi, der existiert schon seit längerem, wird von Uwe Rabe, das ist ein MVP von uns, weiter fortgeführt und das Tool kann man sich entweder direkt über MMX Delphi DE herunterladen oder auch über GetIt.
Es wird für die 32 und 64 Bit IDE integriert und man hat dort wahnsinnig viele Refactoring Möglichkeiten, die wir nachher auch noch ganz kurz ansprechen werden. Man kann dadurch den gesamten Quellcode navigieren, man hat ein erweitertes Refactoring, man hat einen Source Indexer, wo man den gesamten Quellcode schnell durchsuchen kann, man hat einen Live Documentation Support, wo man eben sein Quellcode dokumentieren kann. Genau da werden wir uns im späteren Teil des Praxisteils noch kurz mit beschäftigen.
Gleichzeitig hat Embarcadero an der Debugger Qualität gearbeitet, Wir haben den Debugger optimiert, wir haben wahnsinnig viele Qualitätsverbesserungen hinzugefügt. Der Schwerpunkt lag dabei auf der Bit IDE und der Debugging Erfahrung. Die Geschwindigkeit wurde verbessert, wir können in den ID Optionen die Code Hervorhebung in den Debug Fenstern aktivieren.
Es gibt im C Bereich wahnsinnig viele Verbesserungen, die wir jetzt nicht einzeln im Detail durchgehen müssen, aber die Liste zeigt schon, dass da wirklich sehr viel getan wurde. Genau, der Dialog mit Prozess verbinden wurde optimiert. Es gibt Listen und Schriftverbesserungen, sodass man dort dieses Flackern, was in bisherigen Versionen beim Aktualisieren der Prozesse aufgetreten ist, korrigiert hat und das Ganze noch etwas besser lesbarer gestaltet wurde.
Die Schrift wurde angepasst an die gesamte IDE und richtig, das ist halt eine Optimierung dieses Dialogs, der von vielen benutzt wird. Gleichzeitig hat die IDE neue Suchmöglichkeiten erhalten. Also ich habe die Möglichkeit im Projektmanager oder der Strukturansicht oder auch im Message Log in den Meldungen oder dem Event Log der Ereignisliste zu suchen.
Das Ganze wurde mit einem kleinen Edit Feld gelöst, was man hier im Bildschirm rechts oben schon sehen kann, neben diesem kleinen Drehkreuz, diesem Zahnrad. Und das Ganze kann man dort benutzen, um einfach Begriffe einzugeben, seine Projektstruktur im Projektmanager zu durchsuchen und die Funktion wurde optimiert für auch relativ große Projekte, also Dateien und mehr. Und gleichzeitig kann man das Ganze konfigurieren und das werden wir uns auch nachher anschauen.
Gleichzeitig wurde für die Messages die Hervorheben Option hinzugefügt, also dass einzelne Elemente, wie man es hier unten sehen kann, farbig hervorgehoben werden und bestimmte Hinweise und Warnungen basierend auf der Quellcode Datei gruppiert werden, um den Überblick einfach zu erhöhen. An der IDE Qualität wurde ebenfalls verbessert. 3 schon umfangreich beschrieben haben.
Dort gibt es eine Verbindungstestfunktion in den Optionen. Wir werden uns nachher auch im Praxisbereich anschauen, also das heißt, wenn ich meine ganzen Zugangsdaten eingegeben habe für eine bestimmte KI, zum Beispiel ChatGPT oder oder Gemini, dass ich dann einen Verbindungstest durchführen kann, um sicherzustellen, dass die Verbindung wunderbar funktioniert oder ob es eben Fehler gibt bei den Zugangsdaten, zum Beispiel der API Key, der eben notwendig wäre.
Gleichzeitig wurden die Abfragen verbessert und auch die ganze Antwortverarbeitung optimiert. Es gibt eine Option zum Benutzen der Editor Hintergrundfarbe für Editor Tabs. Dann wurde die Strukturhervorhebung im Editor verbessert und zwar kann man dort jetzt den IDE Farbstil, der standardmäßig aktiviert Fehlermeldungen können aus dem Strukturbereich kopiert werden.
Das ist jetzt auch eine neue Möglichkeit und der Stack Trace ist jetzt standardmäßig auch im Exception Dialog der IDE enthalten. Die Tools API, das ist eine API, die wir anbieten, damit sich Drittanbieter in die RACStudio IDE einklinken können und dort eigene Erweiterungen nutzen können über diese Schnittstelle. Und in RAC Studio 13 wurde diese Tools API ebenfalls erweitert.
Es gibt jetzt die Möglichkeit, eine Willkommensseiten Methode zu benutzen, um die IDE zu aktualisieren. Man kann auf verschiedene Ereignisse zugreifen oder Benachrichtigungen, wenn sich der Editor Cursor bewegt oder der Benutzer was tippt, Dafür gibt es ein Tastenanschlag Ereignis und ein Cursor Bewegungsereignis. Radstudio 13 bietet einen zusätzlichen neuen Ressourcencompiler, den Resinator, den man über ein GitHub Repository herunterladen kann.
Und der ist jetzt standardmäßig die Einstellung im Bildsystem. Man kann hier unten sehen, dass er eben ausgewählt werden kann. Gleichzeitig gibt es natürlich noch die bisherigen Ressource Compiler, die man dort wählen kann. Gleichzeitig ist der aber eine Verbesserung, eine Performance Verbesserung, die eingebaut wurde und Richtig, genau.
Man kann aber trotzdem, wie gesagt, den klassischen Ressourcen Compiler, der im SDK enthalten ist, weiter benutzen. GetIt wurde in Radstudio 13 umgestellt. Einerseits wurde der Katalog neu aufgebaut und das ist ja quasi der Paketmanager von RAD Studio, wo man halt bestimmte Pakete oder auch Bücher in die IDE installieren kann.
Gleichzeitig ist es so, dass jetzt dort eine Paketversionierung hinzugefügt wurde. Bisher war es so, wenn von einem bestimmten Paket mehrere Versionen existierten, dass jede Version mit einem eigenen Eintrag im Katalog aufgelistet wurde. Mit der neuen Paketversionierung ist es so, dass diese verschiedenen Versionen unter einem Eintrag kombiniert werden und dass der Schalter, der sich rechts befunden hat, dieser Installieren Schalter, jetzt ein Multifunktionschalter ist.
Das heißt, ich kann dort die verschiedenen Versionen mir anschauen, kann einzelne Versionen installieren, auch ältere Versionen, weil bisher war es so, dass der Anwender jeweils nur die neueste Version installieren konnte, die halt im Katalog enthalten war. Und mit der neuen Paketversionierung ist es so, dass auch ältere Versionen installiert werden können. Man muss eine Besonderheit noch erwähnen, und Zwar bei der 64 Bit IDE ist es so, dass GetIt noch im nur Lesemodus sich befindet, weil wir noch in diesem Prozess uns befinden, den alten Katalog auf den neuen Katalog zu übertragen, was bedeutet, dass man ein Paket auch in der 64 Bit IDE installieren kann.
Aber das Ganze wird über die Bit IDE durchgeführt. Das heißt, wenn ich dort ein Paket auswähle und installiere, wird gleichzeitig geprüft, ob dieses Paket auch als Bit Variante existiert. Und wenn dies der Fall ist, erfolgt die Installation parallel in der 64-Bit ID, sodass wir jetzt noch diesen Weg gehen, das ganze über die 32 Bit ID zu steuern.
Aber ich gehe davon aus, dass wenn der Katalog übertragen wurde und alle Pakete entsprechend angepasst wurden, dass sich das dann wieder ganz normal normalisieren wird genau kurz angesprochen schon. Dieser Schalter ist jetzt wie gesagt ein Multifunktionschalter. Das heißt, sobald ich ein Paket installiert habe und es gibt dort eine neuere Version, ändert sich der Name des Schalters auf Update oder wenn es eben kein Update gibt oder es nur eine Version ist, dann kann ich darüber deinstallieren.
Also das wird über ein Dropdown Menü dann entsprechend mit zusätzlichen Funktionen noch dargestellt. Da habe ich halt die Möglichkeit, auch den Installationsordner des Paketes im Windows Explorer zu öffnen, weil einige Nutzer die Frage Wo befindet sich das Paket überhaupt, was ich gerade installiert habe? Und das ist halt eine einfache Möglichkeit, um direkt in den Ordner zu springen.
Gleichzeitig kann ich verschiedene Pakete oder die Liste der Pakete exportieren mit get bit cmd, das ist halt ein Kommandozeilentool und diese Liste halt weiter zu verwenden. Wir haben parallel während der Entwicklung an Radstudio 13 einen Chatbot entwickelt, der eine Online Dokumentation darstellt auf Basis einer KI oder AI. Nach wie vor ist die normale Dokumentation weiterhin verfügbar, also ich habe die integrierte Hilfe, ich habe auch das Doc Wiki, was nach wie vor weiter gepflegt wird, aber der neue, das Red AI Companion, der Chatbot ist direkt auf radstudio zugeschnitten.
Das heißt, wir haben das Ganze mit der Wissensbasis des Doc Wikis gefüttert, wir haben auch Videos hinzugefügt, wir haben Bücher hinzugefügt, die als Wissensbasis dienen und man kann ganz einfach über die Homepage, die unten eingeblendet ist, auf dieses Chatbot zugreifen und dort beliebige Fragen stellen, auf Deutsch stellen, auf Englisch stellen Und nach wie vor gilt wie bei jeder KI, dass die Genauigkeit der Frage die Genauigkeit der Antwort definiert.
Das heißt, je genauer ich frage, desto genauer erhalte ich die Antwort. Und das Ganze sieht nachher im Praxiseinsatz ungefähr so aus. Zum Beispiel hier als what's the most important class in the VCL library? Das Ganze kann ich auch mit Deutsch fragen, bekomme dann eine deutsche Antwort zurückgeliefert, werden wir uns nachher auch mit anschauen.
Dann wird demnächst über GetIt ein Paket verfügbar. Sein, das befindet sich gerade in der Endphase im sogenannten Feinschliff, das smartcore AI Komponentenpaket. Und damit wird ein Fundament für die Zukunft insofern gebaut, dass ich eine AI Verbindungskomponente habe, die ich in meine Applikation hineinkompilieren kann und diese Verbindungskomponente kommuniziert dann mit der entsprechenden KI und erlaubt eben verschiedene Anfragen an diese KI zu stellen und die Antworten wiederum in die Anwendung, die ich entwickelt habe, zurückzuleiten.
Also Text anfragen oder ich kann Bilder anfragen oder ich kann auch strukturierte Daten anfragen, zum Beispiel im Sinne eines T Datasets, die ich dann wieder zurückbekomme und in meiner Applikation weiterverwenden kann. Die Treiber Architektur basiert auf einer AI Verbindungskomponente, die über verschiedene Treiber dann eben die Abfragen durchführt. Zum Beispiel gibt es Treiber für OpenAI, Gemini, Claude und und.
Es werden auch in Zukunft noch weitere Treiber hinzugefügt. Dadurch hat man eine einzige Komponente, die unabhängig vom Backend ist. Man hat verschiedene interne Treiber für die Zuordnung zu den verschiedenen Engines. Man hat die Möglichkeit, einen Verbindungsassistenten zu benutzen, der die Verbindung konfiguriert und natürlich die Möglichkeit, neue Treiber für zusätzliche hinzuzufügen.
Das Ganze ist vergleichbar mit der Tools API für Smart Code Insight in der IDE. Der Frontend sieht so aus, dass wir die Verbindungskomponente haben und dann verschiedene Anfragen über nichtvisuelle Anfragekomponenten durchgeführt werden. Also hier sieht man eben, dass Texte zurückgeschickt werden können, dass Bilder zurückgeschickt werden können oder dann eben eine strukturierte Datenanfrage, die hier in einer Tabelle über ein T Dataset gelöst wird, ebenfalls mit zurückgeliefert werden können.
Genau, es gibt verschiedene Anfragekomponenten, hatten wir gerade schon besprochen. Man kann auch JSON bei den strukturierten Daten schicken und zurückenthalten. Man kann Audioinhalt oder Stream Anfragen stellen, um dann halt Audio hochzuladen und Text zurückzubekommen oder Audio zu bekommen. Und das lässt sich wunderbar integrieren in bekannte User Interface Steuerelemente, die man dann wunderbar damit als Datenbasis füttern kann.
Das sind die Demos, wie das ungefähr im Praxisbereich aussehen kann. Und wie gesagt, die Funktion dieses smartcore AI Komponentenpaket wird über GET zur Verfügung stehen demnächst und soll dann eben für alle SAT Flops schon Kunden zur Verfügung stehen. Die Zielplattform, da gibt es nach wie vor noch mal einen kurzen Überblick, und zwar für die Windows Zielplattform, die sich mit Delphi und dem C Bilder benutzen lässt, wird Windows 11 Windows 10 unterstützt und die Servervarianten 2022 und der neue Windows Server 2025.
Die Zielplattformen sind 32 und 64 Bit. Die IDEs erfordern ein 64 Bit Windows, weil man muss sagen, Windows 10 gibt es als Bit Variante höchst selten nur noch, also überwiegend ist die 64 Bit Variante im Einsatz und Windows 11 gibt es auch nur für eine 64 Bit Variante, sodass die IDE jetzt eben ein 64 Bit Windows voraussetzt. Weitere Plattformen existieren für Delphi und zwar iOS 18 oder Mac OS 14 oder 15 auf Intel und ARM Basis, sowie die Android Version 14 15 und 16.
Der Android API Level befindet sich bei Version 35 und es werden natürlich auch verschiedene Linux Distributoren unterstü Ubuntu Version 22 und 24 Red Hat Enterprise Linux und Windows WSL 2. Die Plattform Integration für die mobilen Systeme, da gibt es nach wie vor die Android Ziel Plattform, die bei API Level 35 sich befindet und im Bereich iOS wurde die API ebenfalls verbessert durch verschiedene Bereinigungen. Es wurden dutzende fehlende Funktionen im Kern und in verschiedenen Kits hinzugefügt, um das Ganze noch ein bisschen flüssiger zu gestalten.
Bei der Plattformintegration für Windows wurden verschiedene Windows APIs bereinigt, einschließlich der Windows RT APIs, dann eben die Auffrischung der klassischen Win API, WinMD Projektion und und der the Browser wurde aktualisiert für das WebView Steuerelement. All diese Updates soll natürlich ein verbessertes Erlebnis für Windows Anwendungsentwickler bereitstellen und das wird auch in den nächsten Versionen weiter ausgebaut. Die Runtime Library, die RTL wurde optimiert.
Die JSON Verarbeitung wurde verbessert. Es gibt verschiedene neue Attribute, die wir jetzt nicht einzeln im Detail durchgehen müssen. Es gibt ja die überarbeitete Klasse tjson number, die ist nach wie vor natürlich abwärtskompatibel, wurde aber jetzt verbessert. Es gibt jetzt read as unsigned in 64 dann wurden halt dutzende kleine RTL Verbesserungen durchgeführt, zum Beispiel bei tpath, exist oder bei.
Dann gibt es Verbesserungen bei den Webclient Bibliotheken und zwar wurde jetzt HTTP als Protokollunterstützung hinzugefügt für den HTTP Client und für SOAP Clients gibt es eine neue asynchrone Version von HTTP. Represp execute. Die Datenbank Runtime Library wurde ebenfalls verbessert. Es gibt jetzt eine erweiterte Unterstützung für unsignierte Big Intaken.
Wir haben die Möglichkeit Felder auf ein Formular zu ziehen, das wurde jetzt verbessert und flexibler gestaltet und natürlich noch weitere Verbesserungen, die wir hier unten aufgelistet haben. Der FireDAC Treiber wurde aktualisiert. Wir haben jetzt die OAUS Authentifizierung. Wir haben verschiedene parallele Backup Operationen in Firebird Backup Klasse für Firebird 5 und aufwärts.
Wir haben die verbesserte Unterstützung für PostgreSQL Array Typen und an der Kernfunktionalität von Firedac wurde ebenfalls geschraubt. Wir haben zum Beispiel die Möglichkeit bei TFD memtable das Laden von Standard JSON zu ermöglichen. Genau, und diverse weitere Aktualisierungen, die wir eingebaut haben.
Interbase 15 ist bereits angekündigt. Bisher ist es so, dass nach wie vor mit Radstudio 13 noch Interbase 2020 ausgeliefert wurde, aber Interbase 15 steht kurz bevor. Man muss sagen, die Versionsnummer wurde jetzt insofern verändert, dass von der Jahreszahl, die bei Interbase 2020 noch als Marketingbegriff.
Enthalten wurde, auf die interne Version jetzt umgeschwenkt wird. Also die interne version bei interbase 2020 war version 14 sodass jetzt mit der logischen inkrementierung eben version 15 die neue version darstellt. Und da wird es halt in Zukunft auch noch mehr Inhalt von uns geben, sobald die Version veröffentlicht wurde.
Es gibt verschiedene Optimierungen in der VCL. Es gibt verschiedene VCL Stile für die Titlebar Komponente, die man hier wunderbar in der Animation sehen kann. Es gibt Steuerelemente, die in der Titelleiste verwendet werden können, zum Beispiel ein einfacher T Button oder eine Checkbox oder ein Radio Button.
Das kann man wunderbar in die Titelleiste einbauen. Und auch das Caption Button Item Element wurde jetzt um eine Showhand Eigenschaft erweitert. Es gibt eine neue Bildlauffunktion für das Action Main Menü Bar Steuerelement, also sobald die Menüeinträge so viel sind, dass sie nicht mehr darstellbar sind auf dem Bildschirm, gibt es halt Scrollmöglichkeiten und das wird automatisch aktiviert, sobald die vertikale Höhe die Bildschirmhöhe überschreitet.
Funktioniert auch für Untermenüs, die in normalen Menüs sich drin befinden und ist halt eine Möglichkeit, das Ganze scrollbarer zu gestalten, wenn die Höhe überschritten wird. Es gibt Verbesserungen bei der Forms Tabbar. Man hat dort jetzt die Möglichkeit, Transparenz einzufügen oder zu verwenden. Das ongettab Caption Ereignis wurde verbessert Es gibt eine ein Ereignis für die mittlere Maustaste, die jetzt hinzugefügt wurde.
Dann wurde die MDI Unterstützung verbessert, also MDI ist die Abkürzung für Multiple Document Interface, also mehrere Fenster, die sich unter einer Applikation befinden können. Und das wurde jetzt natürlich noch weiter ausgebaut mit Rat Studio 13. Gleichzeitig wurde die UI Automation, die Interfaces von Microsoft integriert, die man jetzt nutzen kann.
Man hat diverse Verbesserungen, zum Beispiel eine modernisierte Toggle Switch Komponente. Dann wurde TweBrowser verbessert. Diverse Verbesserungen, die jetzt wirklich eine lange Liste bedeuten würden, die man jetzt mit Radstudio 13 integriert hat. PyMonkey wurde ebenfalls verbessert. Es gibt jetzt den Display Link Service, also eine flüssigere Animation mit plattformspezifischen APIs.
Dann hat man eben eine neue MaskEdit Komponente, das heißt eine Eingabemaskierung im VCL Stil. Es gibt Verbesserungen bei T presented Scroll Box, also eine Steuerung der ScrollAnimation, des Prellens und der Touch Integration. Dann eine verbesserte Rechtschreibprüfung, die eingebaut wurde. Dann die T allein Layout Verbesserung, also es wurden Optionen hinzugefügt für die zentrierte Ausrichtung.
Die T Application Events Komponente wurde insofern verbessert, dass eine neue Fähigkeit zur Ereignisbehandlung hinzugefügt wurde. T Auto oder T Combo Edit. Autocomplete wurde optimiert und zwar dort gibt es jetzt eine integrierte Unterstützung für die textvervollständigung und das GPU-beschleunigte Kopieren von Bitlabs wurde.
Optimiert, sodass dort eine erheblich schnellere Leistung verzeichnet werden kann. Gleichzeitig wurde die FMX Linux Integration verbessert, zum Beispiel durch die Erleichterung der Verwendung der Linux Benutzeroberfläche. Und das Ganze ist verfügbar für Enterprise Kunden als Get Paket. Skia V Delphi wurde aktualisiert auf die neueste Version.
Das Ganze wurde ebenfalls optimiert und dann eben den Kunden bereitgestellt. Und es gibt eine Aktualisierung der Webbrowser Komponente für Windows. Da gibt es jetzt die Unterstützung der Version 16 und zwar dort der IMUI Symbole. Dann gibt es ein neues Ereignis, das nennt sich On Checkchains für das T Listbox Item.
Dann eine neue T Trackbar Reverse Eigenschaft, die auch eine Unterstützung für Smausrad Scrolling unterstützt. Das Menüitem, die Höhe kann jetzt gestylt werden und es gibt halt zum Beispiel die Fullscreen Unterstützung für iOS dann die Edge to Edge Unterstützung fur Android und die Möglichkeit, das Aufspringen in einer Listenansicht unter iOS zu deaktivieren. Webbroker, das ist das Framework von Mercadero, um Webservererweiterungen zu bauen.
Das wurde jetzt wahnsinnig groß erweitert und zwar eine der größten Erweiterungen, die wir sehen Delphi 6 verzeichnen konnten. Es gibt dort jetzt die Möglichkeit, integrierte Sitzungen mit einem Sitzungsmanagement zu verwalten. Fast CGI Unterstützung wurde hinzugefügt. Man hat jetzt die Möglichkeit, eine Apache Konfiguration zu verwenden.
Es gibt eine integrierte Protokollierung, also überapplication Log, das ist halt eine Methode, um Logs durchzuführen und zu protokollieren. Und ja, da gibt es halt wahnsinnig viele Erweiterungen, zum Beispiel bei der Sitzungsverwaltung, da gibt es jetzt eine neue Tweb Session Manager Klasse, wo man halt auf verschiedene Objekte zugreifen kann. Es gibt verschiedene neue Session oder Auth Method oder auth Username.
Dann fertig nutzbare Authentifikatoren und zwar einmal für die Basis HTTP Authentifizierung oder für eine HTML basierte Authentifizierung. Dann gibt es eine neue nichtvisuelle Konfigurationskomponente T websession Manager und Web Authorizer bietet rollenbasierte Zugangskontrollen durch Autorisierungszonen. Auch da haben wir zum Schluss eine Demo vorbereitet, die wir durchgehen werden.
Webstensys wurde leistungsfähiger gemacht in RADstudio 13 Das erweitert die bestehenden Webtechnologien, zum Beispiel Webbroker, Datasnap und den RAD Server um eine serverseitige Template Engine, um effiziente, datengesteuerte Websites zu erstellen. 3 und jetzt noch mal leistungsfähiger gemacht in Version 13 und dadurch erhält man halt eine solide Grundlage, um allgemeine Funktionen wie Sitzungen, Benutzeranmeldungen und Berechtigungsverwaltung hinzuzufügen.
Neue Features, die hinzugekommen Man hat jetzt die Möglichkeit, Sitzungsdaten zu verwenden, man kann zusätzliche variablen außerhalb des Klassen und Datenmodells verwenden. Es gibt ein neues Switch Statement, dann hat man direkten Zugriff auf Dataset Eigenschaften, es gibt eine integrierte Extra Header Unterstützung und weitere Eigenschaften, die man im Page Schlüsselwort benutzen kann. Der RAD Server ist Embarcaderos Lösung, um des APIs für Client Applikationen bereitzustellen.
Dort wurde jetzt die Swagger basierte API Dokumentation flexibler gestaltet. Man hat die Multi Tenancy Option, der jetzt noch eine weitere Option hinzugekommen ist, um der tenant spezifischen Konfiguration Rechnung zu tragen. Und es wurde eine neue Sache eingeführt und zwar eine einfache und direkte Methode zur Implementierung von API Versionierung.
Reports wurden ebenfalls eine ganze Menge behoben oder verbessert oder abgearbeitet, wie man es auch immer benennen möchte für Radstudio 13 und zwar 318 Kundenreports, die behoben wurden und es wurden 108 Kunden Feature Anfragen implementiert und der Gesamtbetrachtungsstand, das sind 734 Kundenberichte, die halt mit verschiedenen Lösungen in dem alten und dem neuen Portal kombiniert behandelt wurden. Und das ist eine Zahl, die sich zeigen lassen kann.
Es sind nach wie vor noch Reports offen, ohne Frage, da werden wir auch nach wie vor rangehen. Dieser Prozess geht ja auch nach wie vor weiter mit neuen Features, die einzugehalten. Ja genau. Also 734 ist da der Gesamtbestand. Ja, das war die Zusammenfassung, die wir jetzt gerade in theoretischer Weise durchgesprochen haben.
Wir haben über den ternären Operator gesprochen, wir haben über C Link 20 das Upgrade für den C Builder gesprochen, wir HABEN über die Bit ID gesprochen, wir Haben über Visual Assist und Co Tooling Verbesserungen gesprochen, wir Hauben über das Smartcore AI Komponentenpaket gesprochen, über VCL Titlebar Stile und neue FMX Kontrollen und die Erweiterung für Webbroker und Web Stencils. Radstudio 13 wurde verfügbar gemacht am 10. September diesen Jahres und es ist bereits seitdem verfügbar, kann flexibel als Demo oder als Vollversion runtergeladen werden, auch über myembarkadero com.
Und ich würde jetzt gerne in den praktischen Teil direkt in die ID reinspringen. Rein optisch hat sich erstmal nicht so viel verändert. Also der klassische Aufbau, der hier in der Standardkonfiguration dargestellt ist. Wir fangen mal an mit den Optionsmöglichkeiten für Smart Code Insight. Also das ist die KI Integration in die IDE, um bestimmte KI Funktion zu nutzen oder Quellcode zu scannen oder Quellcode zu konvertieren.
Und da kann man die Konfiguration durchführen in den Optionen über IDE Smartcode Insight. Ich habe jetzt in dem Fall mal die ganzen Zugangsdaten schon eingetragen für ChatGPT. Was jetzt hier neu hinzugekommen ist, das ist dieser Schalter Verbindung testen. Das heißt, wenn ich hier drauf drücke, wird die gesamte Konfiguration, die hier eingegeben ist, getestet und es wird ein Kommunikationstest, in diesem Fall mit OpenAI durchgeführt und als Ergebnis habe ich dann halt Verbindung hergestellt oder es gab ein Problem und falls ja, welches Problem, sodass man hier die Konfiguration auf eine einfache Art und Weise testen kann, weil natürlich auch beim API Schlüssel darf sich kein Tippfehler einschleichen, sonst funktioniert das Ganze nicht.
Hier hat man halt eine einfache Verifizierung, ob die Konfiguration funktional ist und ich dann in der IDE smartcode Insight benutzen kann. Wenn ich jetzt einfach mal ein Projekt öffne und hier die Suchmöglichkeiten zeigen möchte. Also ich habe zum Beispiel in der Strukturansicht die Möglichkeit, hier direkt Sachen einzugeben, Suchanfragen einzugeben, die dann direkt in Echtzeit dargestellt werden.
Gleichzeitig habe ich über dieses kleine Zahnrad die Möglichkeit, verschiedene Optionen festzulegen, Also ich kann die Groß und Kleinschreibung aktivieren oder deaktivieren, ich kann nur nach ganzen Wörtern suchen oder nach Elementen von Wörtern. Ich kann auch reguläre Ausdrücke benutzen. Das Ganze funktioniert ebenfalls auf der rechten Seite in dem Projektmanager und wie gesagt auch hier über mehrere Projekte und Projektgruppen hinweg.
Das Ganze ist für auch relativ große Projekte ausgelegt, wo ich halt Units oder mehr habe. Auch hier kann ich halt jetzt in diesem Fall was ganz Einfaches eingeben, aber das ist natürlich je mehr drin ist und je mehr geladen ist und je größer das Projekt ist, natürlich noch eine sehr ausdrucksvollere Variante. Auch hier existieren nach wie vor die Möglichkeiten, die Suche nochmal fein zu konfigurieren.
Dann kommen wir als nächstes zu GetIt. Ich werde mal das Projekt wieder schließen, das neue Get It mal öffnen. Wie gesagt, der ganz normale Paketmanager, der hier in der Standardkonfiguration dargestellt wird. Ich kann Suchbegriff eingeben. Ich habe hier links meine Filtermöglichkeiten bisher alles so wie man es kannte bisher.
Wir werden uns mal ein Paket rausnehmen, das hier in mehreren Versionen enthalten ist, zum Beispiel das hier App Contact Screens. Das ist ein Firemonkey Template, um verschiedene Designs für die Apps verwenden zu können. Wenn ich jetzt hier auf Installieren drücken würde, wird die neueste Version installiert.
Wenn ich aber auf diesen kleinen Pfeil drücke, um das Dropdown Menü zu öffnen, sehe ich hier die unterschiedlichen Versionen, die für dieses Projekt oder für dieses paket sich in GetIt befinden. 1 zu installieren, sondern auch die alte, die sich vielleicht bewährt hat oder die beim Kunden zum Einsatz kommen muss, verwenden zu können. Ich werde hier einfach mal Version installieren, dann folgt die übliche Abfrage der EULA, Die ich bestätigen muss.
Das Paket wird ganz normal heruntergeladen, installiert. Manchmal wird da noch so ein kleines. Text gezeigt, in dem Fall hier genau in dem Fall ist das Paket installiert, dann ändert sich der Name des Schalters auf Update. 1 updaten. 1 drücke.
Kann ganz normal auch das Paket deinstallieren, wenn ich möchte. Und was jetzt hier neu hinzukommt, ist Installationsordner öffnen. Wenn ich hier drauf drücke, öffnet sich der Windows Explorer direkt mit dem Verzeichnis dieses Paketes, sodass ich da wunderbar reinspringen kann und mir noch eventuell zusätzliche Dateien oder Dokumentationen des Pakets anschauen kann.
Also das ist eine Verbesserung, die jetzt in GetIt einhergekommen ist. Wie gesagt, sobald die Bit IDE im Einsatz ist, dort ist Get It im nur lesen Modus. Das heißt, wenn ich Pakete dort installieren möchte, muss das noch in der Bit IDE passieren und dann wird gleichzeitig geprüft, ob das Paket als Bit Variante existiert.
Sollte das der Fall sein, wird es automatisch für die Bit ID mitinstalliert, sodass es dann dort zur Verfügung steht. Wenn wir das Ganze mal schließen und ein neues Projekt öffnen, eine Demo, und zwar zum ternären Operator. Ich hatte ja schon angesprochen gehabt, dass das eine neue Spracherweiterung ist, die jetzt ab Pragstudio 13 hinzugekommen ist.
Gibt es auch schon in vielen anderen Sprachen und wir haben das jetzt als eine der Top 3 in der Wunschliste. Hinzugefügt. Die Demo ist relativ übersichtlich gehalten, steht auch über ein GitHub Repository zur Verfügung, wo man sich das Ganze im Praxiseinsatz anschauen kann. Also es wird hier eine einfache Auswertung durchgeführt und zwar das Ganze mal groß mache haben wir hier eine String Variable und dieser String Variable vom Namen L String wird eine Abfrage zugewiesen.
Also die Abfrage fragt ab, ob der Radio Button auf doc oder cap gesetzt ist und wenn der auf doc gesetzt ist, dann wird die Funktion doc aufgerufen und der Text zurückgegeben. Wenn das Ganze auf cat eingesetzt, wird die Funktion ket aufgerufen und Das Ergebnis wird dann dem String zugewiesen, sodass ich einfache Abfragen einer Variablen zuweisen kann und das Ganze funktioniert auch in einer Funktion, wie in diesem Fall zum Beispiel. Ich habe jetzt ein einfaches Fenster, was hier geöffnet wird, wo ich direkt die Maße definieren kann und das Ganze mit if und wenn Abfragen integrieren kann.
Ebenfalls kann man das Ganze in einer for Schleife einbauen, also ich habe hier zum Beispiel eine Variable lights, die gleichzeitig definiert wird im Kopf der Schleife und es wird hier erstmal ein Standardtext ausgegeben. Und wenn das Ganze eine 1 bedeutet, also ein Licht, im Englischen würde man ja sagen nicht light, sondern light, dann wird eben kein Text angefügt. Wenn es also mehr als 1 ist, dann wird ein s angefügt, um das Ganze im Plural darzustellen.
Auch hier ist es einfach nur eine Anweisung, die hinzugefügt wird, also eine Abfrage, die quasi in der Syntax verankert ist und dann das Ergebnis entsprechend direkt ausgibt, ohne dass ich hier mit Zwischenvariablen arbeiten muss oder Ipsen verwenden muss. Die Demo existiert als GitHub Repository, man kann sich die wunderbar herunterladen, man kann mit dem Lernoperator spielen. Das Ganze haben wir auch wunderbar in DocWiki dokumentiert, also eine der am meisten gewünschten Funktionen und Erweiterung der Sprache.
Dann würde ich gerne noch eine weitere Demo zeigen, und zwar zum Thema webstence. Also Web Stencils ist die Webtechnologie von Embarcadero, die existierende Technologien wie zum Beispiel Webbroker oder datasnap oder den RAD Server erweitert, indem eine serverbasierte Vorlagen Engine erzeugt wird, die ich dann eben benutzen kann, um Webseiten zu bauen, und zwar ziemlich effektive Webseiten. Die Demo bedeutet, ich starte das Ganze mal und ich habe jetzt in diesem Fall in meiner VM eine Konsolenapplikation, die dadurch gestartet wird, also ein Server.
Das ist die Applikation, die letzten Endes auf der Serverseite, zum Beispiel im Unternehmen zum Einsatz kommt, um dann Dienste über einen bestimmten Port über eine Seite nach außen zu transportieren. Hier sieht man halt, dass ich verschiedene Befehle benutzen kann, um den Server zu starten, zu stoppen, den Port zu verändern, Der Standardport ist 8080 oder auch nur den Status abzufragen. Ich kann jetzt zum Beispiel mal mit Status sehen, ob der Server läuft, In diesem Fall sehe ich hinter active, er läuft und was ich dann machen kann, ist, ich kann von außen jetzt natürlich ist es innerhalb meiner VM über eine bestimmte Adresse, in diesem Fall ist es jetzt der lokale Host und den Port auf die Elemente dieses Servers zu greifen.
Und die Konsolenapplikation verknüpft dann letzten Endes die Anfragen, die hier über die Adresse reinkommen, zum Beispiel die Unterseite BASICS mit den entsprechenden HTML Dateien. Also Basics würde bedeuten, wenn ich jetzt mir die Dateistruktur einmal anschaue, das Ganze befindet sich Ressourcen unter Verzeichnis dieser Demo. Auch die Demo ist über ein GitHub Repository herunterladbar und Basics würde dann halt auf die HTML Datei Basics zugreifen, die ich hier mit der Syntax natürlich beliebig erweitern kann und meine eigenen Darstellungsmöglichkeiten hier drin integrieren kann.
Wenn ich jetzt mal die Demo weiter durchgehe, zum Beispiel Keywords, dann sind eben hier auch die Beschreibungen der Sprachkonstrukte dargestellt. Keywords würde wiederum Ich greife hier auf Keywords HTML zu. Das Ganze geht dann weiter noch mit Sessions Informationen, die jetzt mit RAP hinzugefügt wurden.
Also ich habe die Möglichkeit, mir Session Details anzeigen zu lassen, eine Sitzungsverwaltung durchführen zu lassen, wer zum Beispiel hier die Eigenschaften dargestellt hat oder die Anfragen, die hier dargestellt werden können. Ich habe dann hier hinten die Möglichkeit, mir verschiedene Beispiele anzeigen zu lassen. So, und dafür müsste ich mich auch Das Ganze ist hier mit einem wunderbaren Sitzungsverwaltung wunderbar dargestellt.
Ich kann mich hier versuchen einzuloggen, um eben auf andere Beispiele noch zuzugreifen. Das Ganze soll dann für den späteren Praxiseinsatz verschiedene Logins darstellen, um zum Beispiel einen geschützten Kundenbereich zum Beispiel zu repräsentieren, dass sich eben Kunden dort einloggen können mit ihren Zugangsdaten und auf bestimmte Inhalte zugreifen können. Wenn ich mich hier einfach mal mit dem Admin Account einlogge, in diesem Beispiel sind die Zugangsdaten relativ simpel, also admin und admin 133.
Genau dann bin ich jetzt eingeloggt und kann eben hier noch auf zusätzliche Inhalte zugreifen. Zum Beispiel habe ich eine Datenbank Demo integriert, also es wird eine Datenbank mit wahlfreien Kundendaten, die nicht real sind, geladen über eine FireDac Anfrage und hier reingeladen. Ich kann dann gleichzeitig hinten zum Beispiel auf dieses Edit Feld drücken, kann den Datensatz bearbeiten, das Ganze löschen, die Änderung speichern und mich dann auch wieder als Admin ausloggen.
Oder als Demo User einloggen. Und damit habe ich eben eine Grundlage, ein Fundament geschaffen, um eine eine Webseite aufzusetzen, die nach außen transportiert wird, wo ich verschiedene Zugriffspunkte mit HTML Dateien verknüpfen kann, habe gleichzeitig ein Session Management, habe geschützte Routen, habe eine HTMX Integration und diverse Admin Funktionen, die wir jetzt gerade eben gesehen haben. Auch hier wäre die Empfehlung, sich die demo über das GitHub Repository mal anzuschauen, durchzuklicken, sich die HTML Datei anzuschauen, die eben entsprechend verknüpft sind und eventuell zu prüfen, ob man es für eigene Zwecke benutzen kann.
Dann würde ich ganz gerne noch auf den MMX Code Explorer zu sprechen kommen, der ist wie gesagt über GetIt verfügbar, man kann den aber auch selbst über die Homepage des Autors von Uwe Rabe herunterladen, über MMX Delphi. Die Homepage bietet auch ganz viele Ressourcen, also man hat hier verschiedene Videos, die man sich anschauen kann oder Screenshots, die man sich anschauen kann. Im Dokumentationsbereich hat man die komplette Möglichkeit, sich die Dokumentation anzuschauen.
Der Downloadbereich enthält ein Datenblatt, wer also vielleicht sich da langsam rantraut und für das Refactoring erstmal eine Einführung braucht, da bietet sich das Datenblatt mit zwei Seiten als Überblick an, aber man hat natürlich letztendlich die Möglichkeit, das Handbuch komplett runterzuladen, die sich dann auch im heruntergeladenen Paket befindet, sobald das Paket installiert wurde. Über GetIt zum Beispiel wird auch eine kleine Darstellungsseite geöffnet mit einem kurzen Überblick und dann hat man innerhalb der IDE das MMX Menü.
Wenn wir jetzt einfach mal eine Demo öffnen, kann ich die MMX Funktionalität in die IDE mit reinbauen, also das heißt, ich kann das Ganze andockbar gestalten, kann. Sachen nach links, nach rechts schieben, da wo ich es entsprechend haben möchte. Und man muss dazu sagen, MMX ist wahnsinnig komplex, also es sind sehr viele Funktionen drin und es wird da wirklich empfohlen, sich die Dokumentation anzuschauen, mit den Tools, mit einzelnen Funktionen darin zu spielen, das Menü mal durchzugehen, die Properties durchzugehen.
Das Produkt ist hochgradig konfigurierbar und es gibt verschiedene Möglichkeiten, die integriert sind fürs Refactoring. Es gibt zum Beispiel eine Möglichkeit, das Entity Insight, wo man verschiedene Darstellungsmöglichkeiten der Elemente hat. Man hat den Source Indexer, das ist eine Suchfunktion die effektiver sogar noch ist als das In Dateien suchen der Delphi ID.
Man hat die Unterstützung von Live Metriken, man hat einen Live Dokumentationssupport, der ermöglicht die Anzeige und Bearbeitung von Dokumentation und lässt sich halt mit verschiedenen Kommentarstilen integrieren, um eine Live Dokumentation im Editor bereitzustellen. Man hat einen Creation Wizard, um den Prozess der Erstellung und Initialisierung von Klassenmethoden zu vereinfachen. Und es gibt eine Funktion, die ich jetzt kurz zeigen möchte, die nennt sich IntelliPlace, also eine Ersetzungsfunktion.
Dafür dient eine relativ simple Demo. Also ich habe jetzt hier drei Schalter auf einem Formular platziert, Button 1, Button 2, Button 3. Und wenn ich auf den Code umschalte, dann ist mit den Click Events dieser Schalter jeweils eine einfache showmessage Frage assoziiert, das heißt, es wird einfach nur der Text dieses Buttons dargestellt.
Und wenn ich das Ganze mal öffne und starte und einfach auf einen Schalter drauf drücke, habe ich hier Testbutton 1 plus Klick, also was relativ überschaubares, aber repräsentativ natürlich für größere Projekte. Wenn ich jetzt einen Schalter umbenennen möchte, angenommen ich möchte aus Button 1 Button 4 machen, dann wäre der bisherige Weg gewesen, ich gehe über den Objektinspektor, gehe runter zur Name Eigenschaft und ändere hier Button 1 einfach eine 4 und eigentlich würde dann die RAD Studio IDE diesen Schalter auch in der Code Darstellung ändern, macht er auch, in diesem Fall heißt es jetzt hier Button 4 aber es gibt halt im Quellcode verschiedene Verknüpfungen oder verwendungen dieses bisherigen button 1 die dann nicht mit angepasst werden.
Und in dem Fall würde der Compiler jetzt natürlich nicht kompilieren, weil hier immer noch Button 1 steht, also weil das der Objektinspektor und die IDE nicht umbenennt. Wir gehen mal wieder zurück, Button 1, sodass der Code wieder fehlerfrei ist und würden jetzt mmx für die ganze Sache verwenden. In dem Fall würde ich einfach das Element markieren, das kann man über verschiedene Möglichkeiten markieren.
Ich kann hier einfach raufgehen, kann dann hier mit der rechten Taste zum Beispiel auf Rename drücken, Ich kann aber auch hier oben in diese Zeile hier reingehen und kann Einfach aus Button 1 Button 4 machen, ist die gleiche Funktion. Damit wird die Intelli Replace Funktion von MMX verwendet. Und wenn ich das Ganze jetzt mit Enter bestätige, dann sehe ich eben nicht nur, dass hier oben aus Button 1 Button 4 gemacht wurde, sondern auch an allen Verwendungen innerhalb des Quellcodes, sodass, wenn ich jetzt das Ganze starte, fehlerfrei durchläuft und wenn ich jetzt hier drauf drücke, das Event ausgelöst wird.
In dem Fall ist natürlich immer noch das Caption Element mit Name 1 betitelt, aber der Name selbst, der Komponente selbst, das wird an allen Positionen des Quellcodes umbenannt und auch bei allen Verwendungen. Und das ist eben wesentlich leistungsfähiger als die bisherige radstudio IDE. Man muss sagen, das ist wirklich nur eine Funktion und ein kleiner Bruchteil von dem, was MMX kann.
Man hat hier wahnsinnig viele Möglichkeiten. Man kann, wie gesagt, mit der Live Dokumentation arbeiten, man kann den Source Indexer nutzen, davor wird ein Index erstellt und dann kann man den gesamten Code durchgehen. Man kann durch seinen Quellcode navigieren, hier mit Navigate and Move. Man kann das Surround Menü nutzen, also das heißt, ich kann markierten Code nehmen und kann ein Try Finally Wizard benutzen.
Wenn ich jetzt einfach mal diese Zeile hier markiere, Dann auf MMMX gehe, surround with try finally, dann wird das entsprechend eingerückt und verpackt. Genau, das sind so die Möglichkeiten, die man damit hat. Wir wollen mal weitergehen. Als nächstes gibt es noch ein weiteres Tool, was ich gerne zeigen möchte.
Ich habe es ja schon kurz erwähnt. Der Delphi Upgrade Advisor Wizard lässt sich über Get it herunterladen. Sieht so aus. Bei mir ist er jetzt schon installiert, sehe ich gerade, für alle Nutzer, die eine Subscription haben. Und das Ganze wird dann über das Tools Menü eingebaut.
Ich kann also hier, wenn ich drauf drücke, wird das bisherige Projekt genommen. Es kann ein älteres Projekt sein, kann aber auch ein aktuelles Projekt sein. Und dann kann ich eben auswählen, welche Prüfungen durchgeführt werden sollen. Ich kann also checken, ob ungültige Fahrtangaben in der Projektkonfiguration enthalten sind.
Also diese ungültigen Fahrtangaben würden die Kompilierungszeit verlangsamen. Das würde hier geprüft werden. Ich kann Unit Aliases überprüfen. Ich kann unqualifizierte Unitnamen überprüfen, ob die eben unqualifiziert sind oder ob das eben korrigiert werden kann. Ich kann zirkuläre Unit Referenzen prüfen und letzten Endes wird das Ganze, ich kann hier sogar noch mit einer grafischen Graphis Datei arbeiten, um das Ganze zu analysieren.
Das Ganze wird durchgeführt mit execute, dann wird alles durchgescannt. Das Ergebnis wird dann in einer unteren Liste dargestellt. In dem Fall gibt es halt Verzeichnisse, die nicht gefunden wurden, die man zum Beispiel dann rausnehmen kann und so weiter. Also da ist die Empfehlung, das eigene Projekt mal zu scannen, sich einfach anzuschauen, was kommt da für ein Log unten bei raus, Kann ich das eventuell nutzen, um die Projektkonfiguration zu optimieren und damit halt die Kompilierungszeit zu reduzieren.
Das letzte, was ich gerne zeigen möchte, das ist unser Chatbot, das RAD AI Companion, hatte ich ja vorhin schon kurz angesprochen, also der Chatbot, der auf unserem Doc Wiki basiert und auch aus verschiedenen Videos und Büchern, die wir dort als Wissensquelle hineingegeben haben. Ich kann also hier unten meine Frage formulieren und bekomme dann die Antwort zurück. Auch da ist die ausprobieren.
Einfach mal schauen, was der Chatbot als Ergebnis auswirft. Ich stelle einfach mal eine Frage, Wie ermittle ich mit Delphi die Windows Version? Er denkt nach und dann kommt eigentlich auch relativ zeitnah die Antwort zurück. Schauen wir, was da gleich geliefert wird. Genau, deutsche Frage, deutsche Antwort in dem Fall auch mit Quellcode Beispielen, die man dann wunderbar umsetzen kann.
Es sind Verlinkungen teilweise drin für Stock Wiki. Ich kann aber auch hier unten noch verschiedene Aktionsschalter benutzen und diese Chatbot steht eben jedem zur Verfügung, der einfach auf die Homepage, also Embarcadero COM RUT AI Companion zugreifen kann. Genau, das wäre so der praktische Exkurs, den wir kurz im Sinne dieses Webinars durchgesprochen haben und ich würde jetzt gerne zu den Fragen kommen und den Roland gerne mit dazunehmen.
Ja, bin dabei. OK, gibt es denn schon Fragen, die gestellt wurden? Es gibt schon Fragen. Wir sind ja jetzt momentan in einer Stunde, aber mal gucken, was da noch kommt. Ich lese mal vor, vielleicht kannst du da auch spontan schon Antworten geben.
Fangen wir mal ganz oben an. Sebastian Gansel. Funktioniert nameof nur für Variablen oder kann ich damit auch den Namen der Methode ermitteln, in der ich mich gerade befinde? Also quasi write log self nameof. Ja, es funktioniert auch mit Beton.
Ist beim C wieder die Entwicklung von Android oder iOS Apps geplant? Fragt Günther. Aktuell noch nicht, aber man soll nie nie sagen. Also ich könnte mir vorstellen, dass es in Zukunft irgendwann doch einen stärkeren Fokus bekommt. Aktuell ist es noch nicht der Fall, weil wir uns auch bei den c bilder 13 auf verschiedene andere Baustellen geworfen haben, die jetzt erstmal korrigiert werden mussten, aber es kann durchaus sein, dass das in Zukunft mit dazu bekommt.
Aber ich weiß es noch nicht. Also ich würde die Frage jetzt nicht bestätigen wollen, aber ich könnte es mir vorstellen. Gut, dann kommt hier die Frage, das hast du teilweise, glaube ich, oder eigentlich schon beantwortet, aber wir wiederholen es noch mal. Wieso ist Getit immer noch so schwach belegt?
Es sind bereits zwei Wochen seit der Veröffentlichung von Belphy 13 vergangen. Ich gehe mal davon aus, dass das mit der Thematik zu tun hat, dass man sie über die Bit Version installieren müsste. Richtig? Genau, weil wir haben eine Person, die die ganzen Kataloge oder die verantwortlich ist für die gesamten Kataloge und dieser Prozess, das zu übertragen, gestaltet sich relativ aufwendig, weil man die Pakete im Detail untersuchen muss, dann eben auch die Bit Funktionalität prüfen muss, das Ganze nicht nur als Aussage vom Hersteller, sondern auch selbst nachvollziehen muss.
Und das ist ein Prozess, wo wir versuchen, schneller zu werden in nächster Zeit, aber es werden halt Stück für Stück bestimmte Sachen nachgerüstet, wie jetzt der Delphi Upgrade Advisor Wizard, der jetzt eben auch vor zwei, drei Tagen erst veröffentlicht wurde. Also es ist eine Basis, die halt zukünftig zunehmend weiter an Paketen hinzugewonnen wird und ich hoffe, dass wir da auch das Tempo erhöhen können in nächster Zeit. Gut, Albert Fais, wird die Präsentation irgendwo verfügbar sein?
Ja, habe ich bereits geantwortet an alle. Die Präsentation wird Auf unserem deutschen YouTube Kanal Embarcadero Germany hochgeladen, wird vielleicht zwei, drei Tage dauern, bis wir alles soweit fertig haben. Dann die Frage von Wolfgang, Können mit der BIT IDE alle Zielplattformen erstellt werden? Nein, die Bit IDE ist rein für die WIN Zielplattform gedacht, das ist der aktuelle Stand.
Auch hier kann es sein, dass sich das Ganze in Zukunft ändert. Es gibt insgesamt neun verschiedene Zielplattformen, die wir in der 32 Bit anbieten. Bisher ist es aber so, dass nur Windows 64 unterstützt wird. Der Funktionsumfang ist für diese bin Plattform vollständig und es kann durchaus passieren, dass in der nächsten Version dort Erweiterungen, also bestimmte Plattformen von der 32 Bit übertragen werden.
Aber der aktuelle Stand ist die Win Zielplattform. Okay. Ich habe während der Installation, Viktor Hirsch fragt, ich habe während der Installation das Win SDK installiert, ich bekomme aber nur die Bit Version angeboten. Kann das Zuweisen der SDK in der Demo gezeigt werden. Weiß nicht, ob du spontan könntest oder ob du eine Antwort hast.
Spontan habe ich da keine Antwort für. Ich würde man müsste noch mal schauen, die Seite, die wir verlinken, die Microsoft Seite, ob es dort ein separates Bit SDK verfügbar gibt. Das wäre jetzt die Sache, nach der ich schauen würde. Kann sein, dass Microsoft zwei Varianten anbietet und dass wir per se auf die Bit Variante verweisen.
Da müsste man einfach schauen, ob es eine Bit Variante des SDKs gibt auf der Microsoft Seite. Also bitte dort noch einmal nachschauen. Gut. Ebenfalls fragt Ist der Upgrade Advisor auch für C vorgesehen? Also C Bilder.
Bisher unterstützt er nur Delphi, auch deswegen der Name Delphi Upgrade Advisor und er basiert natürlich auf vielen Kundenrückmeldungen und auch auf Erfahrungsberichten, die eben die Kompilierungszeit für Projekte verlangsamt haben in letzter Zeit. Es kann durchaus sein, dass das Ganze irgendwann für C bereitstehen wird. Vorstellbar ist es, weil die Grundlage jetzt durch dieses Tool geschaffen wurde, die gesamte Infrastruktur, aber bisher ist es erstmal nur ein reines Delphi Produkt.
Gut, Andreas Richauf, ich habe lange darauf oder nein, er fragt nicht, Er gibt uns sozusagen einen Dank. Ich habe lange darauf gewartet und oft danach gefragt, Modernes C, Jetzt ist es mit C Line 20 und C 23 endlich verfügbar. Vielen Dank. Gut, das ist ja schön das. So, Wolfgang Lunz wird es zum Thema HTMX, webstencels, eigene Videos, Workshops oder ähnliches geben.
Ich habe mir bereits das PDF von Antonio schon heruntergeladen. Witzig, der AI Companion konnte mir nicht sagen, wo ich das Buch finden kann. Bitte den Kontext dazu erweitern. Okay, das ist okay. Das werden wir weitergehen.
Vielleicht noch damit integrieren in die AI. Sie soll ja lernen, sie muss ja trainiert werden und mal schauen, wie wir das dann dazu bekommen. Guter Hinweis. Genau. Und zum Thema Videos für Web Senses.
Wir haben jetzt zwar konkret erstmal noch nichts geplant, aber es ist durchaus vorstellbar, dass wir das in einem der nächsten Webinare mit besprechen oder ein spezielles Webinar dafür machen. Ich hatte heute Morgen schon mit Roland darüber gesprochen, dass es für viele interessant ist und diese kurze Demo, die ich jetzt gerade gezeigt habe, kann natürlich nur einen Bruchteil von der gesamten Funktionalität darstellen. Deswegen ist dort die Idee, wenn auch die Nachfrage besteht, dort gerne noch mal mehr Content zu liefern.
Ja, können wir auf jeden Fall mal auf unsere Liste machen. 1 verfügbar sein oder über einen Patch das Smart Core AI, also das Komponentenpaket, um seine eigenen Applikationen mit KI Funktionalität auszustatten. Das wird über GetIt zur Verfügung gestellt für Subscription Kunden. Also das wird jetzt nicht als separates externes Tool sein, sondern es wird direkt in GET sein.
Es gibt dann Komponenten, die ich direkt aus der IDE nutzen kann und da befinden wir uns auch gerade in der Endphase der Fertigstellung dieses Paketes. Genau, also GET ist die kurze Antwort. Gut, Volker König wurde die Refactoring Funktion in Red Studio 13 verbessert und speziell die Extract Method Funktion.
Man muss sagen, die Refactoring Funktion haben eigentlich viele Probleme bei den Anwendern verursacht. Es gab Abstürze, es gab Unzufriedenheiten bei der Funktionalität und das Gleiche trifft auf den Source Code Formater, also den Quellcode Formatierer zu. Und Embarcadero hat dann irgendwann diese Entscheidung getroffen.
Wir versuchen unsere Ressourcen in andere Problembereiche zu stecken und haben aber gleichzeitig den Synergieeffekt genutzt, den MMX Explorer integrieren zu können über Get IT, den man sich davor auch schon frei herunterladen konnte und dort eine wesentlich überlegenes Refactoring nutzen zu können. Also das war so die Idee, die dahinter stand, weil dieses Refactoring Menü jetzt in der Rat ID ausgegraut ist. Es wurde einfach entfernt, um anderen Funktionen eine größere Bedeutung zu geben während der Entwicklung und gleichzeitig MMX eben als leistungsfähigere Alternative dem Kundenpublikum vorzustellen.
Und deswegen haben wir darüber auch gesprochen. Zum Quellcode Formatierer kann man auch noch was erwähnen, der hat auch teilweise zu Abstürzen geführt und das war dann an einem bestimmten Punkt nicht mehr praxistauglich gewesen, an dem weiter rumzuschrauben und den zu optimieren, sodass auch da die Entscheidung gefallen ist, den herauszunehmen, zu entfernen. Als Alternative gibt es mehrere Möglichkeiten, die man nennen kann.
Es gibt einmal das Pass FMT Projekt, das ist ein in Rust geschriebenes Projekt und es gibt dafür auch ein radstudio Plugin, so dass man das wunderbar in die herein linken kann und dann eben dort über einen Menüpunkt im Tools Menü sein Quellcode formatieren kann oder eine weitere Möglichkeit oder eine Empfehlung wäre noch das CN Pack. Dort hat man ebenfalls einen Code Format da drin, falls man seinen Quellcode formatieren möchte. Diese beiden Möglichkeiten gibt es und das ist so der gesamte Hintergrund zum Refactoring.
Danke. So, jetzt die Frage von Jörg werden ARM CPUs wie Raspberry Pi unter Linux unterstützt? Aktuell noch nicht. Ich kann mir vorstellen, dass es in Zukunft kommen wird, aber zum aktuellen Stand bieten wir da noch keine Unterstützung an. Die Frage muss man natürlich auch immer wieder ein bisschen Nein, die Frage nicht.
Aber je mehr Bedarf und je mehr Business Anwendungen in diesem Bereich möglich wären, dann hat es natürlich auch stärkeren Faktor bei uns intern, ob solche Plattformen unterstützt werden. Ich weiß, dass es teilweise schon Lösungen gibt, die das machen, aber eben nicht direkt von uns. Genau. Korrekt.
Was ist mit HTML Authentifizierung gemeint? Werden andere Authentifizierungsmethoden wie OAuth unterstützt? Ja, OAuth wird unterstützt.
Quelle:



