Nachrichten

6. Mai 2025

Schnelle Berichte über die "Delphi na Estrada" -Tour in Brasilien

Fast Reports wird im Mai an der "Delphi na Estrada" -Tour teilnehmen und auch eine Website mit portugiesischer Lokalisierung starten.
22. April 2025

Aktualisierung von Delphi- und Lazarus-Produkten auf Version 2025.2

Wir stellen Ihnen das lang erwartete Update der gesamten Produktlinie von Delphi und Lazarus vor. Mit der Version 2025.2 erhalten Sie Zugriff auf ein benutzerfreundliches Tool zum Konfigurieren von Wasserzeichen, Aktualisierung von Serverkomponenten, einen neuen Mechanismus für WEB-Berichtsdialogseiten, ein neues TfrxDeviceCommand-Berichtsobjekt für RFID-Tags, wichtige Änderungen in der Berichts-Engine, Export- und Transportverbesserungen, Unterstützung für Themen und vieles mehr. Aktualisieren Sie Ihr Produkt, um mit uns neue Horizonte der Möglichkeiten zu eröffnen!      Neue Möglichkeiten von FastReport VCL Benutzerfreundliches Tool zum Konfigurieren von Wasserzeichen Es wurde die Möglichkeit hinzugefügt, anpassbare Wasserzeichen (Watermarks) für Berichtsseiten zu erstellen. Wasserzeichen werden häufig zum Schutz oder zur Identifizierung von Dokumententypen verwendet. Wir haben ein benutzerfreundliches Tool hinzugefügt, mit dem Sie ganz einfach Wasserzeichen für jede Seite Ihres Berichts konfigurieren können.  Jede Berichtsseite kann mit mehreren Wasserzeichen versehen werden, die Sie für den Druck, Export oder die Ausgabe individuell anpassen können. Wasserzeichen können sowohl Bilder als auch Texte mit einer großen Anzahl anpassbarer Parameter (Textdrehung, Stil) verwenden. Wasserzeichen können sowohl im Berichtsdesigner als auch in der Vorschau konfiguriert werden.   Aktualisierung von Serverkomponenten  Mit der Version 2025.2 sind jetzt alle verfügbaren Exportfilter von FastReport VCL auch in Serverkomponenten verfügbar. Nutzen Sie das Potential all dieser Formate in Ihrer WEB-Anwendung.   Neuer Mechanismus für WEB-Berichtsdialogseiten   Ein komplett neu entwickelter Mechanismus ermöglicht die Verwendung von Containerobjekten wie PageControl und Gruppen sowie die Erweiterung der Funktionalität verfügbarer Dialogseiten-Steuerelemente für WEB-Dialoge.  Für Dialogseiten haben wir in diesem Update die Unterstützung für neue Komponenten erweitert. Insbesondere haben wir Steuerelemente der Dialogseiten hinzugefügt, die zuvor nicht im WEB verfügbar waren.  Liste der neuen Dialogformular-Steuerelemente: Date picker – Datumsauswahl  DBComboBox –Dropdown-Liste, die mit einer Datenquelle verknüpft ist  List Box – Auswahlliste  CheckListBox – Auswahlliste (Kontrollkästchen) MaskEdit (ohne Maske) - Eingabefeld Password edit – Eingabefeld für das Passwort PageControl – Erstellung von Registerkartenseiten GroupControl – Gruppierungsbereich Panel – Panel  Sie können jetzt auch einen benutzerdefinierten HTTP-Header für Ihre Projekte verwenden.   Neues TfrxDeviceCommand-Berichtsobjekt  Dieses nicht visuelle Objekt wird neu zugewiesen, um Befehle an Geräte (Exporte) zu senden, die diese Befehle verarbeiten können. In der aktuellen Version enthält das Objekt eine Einstellungsklasse für RFID-Tags.   RFID-Tags übergeben nicht visuelle Daten an den ZPL Export, um diese Daten mithilfe spezieller Hardware auf den Chip zu schreiben. Die RFID-Tag-Klasse verfügt über einen eigenen Editor und einen Satz von Eigenschaften zur Feinabstimmung der Schreibdaten. Mehr dazu lesen Sie in unserem Artikel. Artikel lesen Mit dem TfrxPDFView Berichtsobjekt können Sie jetzt den Bereich der auszugebenden Seiten anpassen. Sie können Werte über Ausdrücke in der TfrxPDFView.PagesRange Eigenschaft festlegen. Auf diese Weise können Sie die auszugebenden Seiten eines PDF-Dokuments filtern.       Änderungen in der Berichts-Engine  Kombinierte Ausgabetechnik von Objekten Neue Änderungen in der Berichts-Engine ermöglichen es, verschiedene Ausgabetechniken von Objekten zu kombinieren, und bieten so Freiheit bei der Erstellung komplexer Berichte. Der Mechanismus zur Ausrichtung am unteren Rand (baBottom) eines wachsenden Bandes wurde geändert, wenn eines der Bandobjekte in mehrere Teile (Seiten) aufgeteilt wird. In der alten Implementierung wurde das Objekt mit der baBottom-Eigenschaft im ersten Teil des Datenumbruchs angezeigt.  Der neue Mechanismus eines solchen Berichts passt Objekte mit der baBottom-Eigenschaft an und platziert sie im letzten Teil der Daten (am Ende des Bandes). Bitte beachten Sie, dass dieses Verhalten der Berichts-Engine als korrekt angesehen wird und bei der Entwicklung von Berichten berücksichtigt werden sollte.   Unterstützung der smMaxHeight Dehnung für statische Tabellen (nur AllowSplit-Zeilen) Die smMaxHeight Dehnung funktioniert in Tabellen anders als in Objekten. Die erforderliche Höhe wird für die gesamte Tabelle im Band festgelegt. Dann wird sie auf die Zeilen verteilt, wobei die AllowSplit=True Eigenschaft aktiviert und die AutoSize=False Eigenschaft deaktiviert sind. Zeilen mit dem MaxHeight-Wert werden ebenfalls berücksichtigt. Mit diesem Ansatz können Sie auswählen, welche Tabellenzeilen gedehnt werden können, um einen leeren Raum auszufüllen, und welche nicht.   Neues Verhalten der TfrxRichView-Berichtsobjektaufteilung Das RichText-Objekt ermöglicht Ihnen die Verwendung von Tabellen, Bildern und anderen Objekten, die nicht auf eine bestimmte Größe aufgeteilt werden können. Solche Objekte konnten manchmal ganze nicht teilbare Inhaltsblöcke erzeugen, die über Seitenränder hinausgingen. In der aktuellen Version wurde die TfrxRichView-Aufteilung neu gestaltet und funktioniert situationsabhängig selektiv. Suche nach dem kleinsten teilbaren Teil. Wenn ein Objekt einen Teil enthält, der nicht auf eine neue Seite passt und nicht teilbar ist (das Objekt oder die Tabellenzeile ist größer als die Höhe des gesamten Blattes), dann wird jetzt für einen solchen Teil der kleinste „nicht teilbare“ Teil gesucht und so angezeigt. Die Aufteilung wird fortgesetzt. Wenn es weitere Teile gibt, werden diese ebenfalls aufgeteilt und angezeigt. Der Hauptunterschied zum alten Mechanismus besteht in der Suche nach dem kleinsten Wert für den ungeteilten Teil und der Fortsetzung des Aufbaus. Bisher landeten alle Inhalte im „nicht teilbaren“ Teil und die Aufteilung endete dort, aber ein Teil des Textes konnte verloren gehen.  Suche nach dem größten teilbaren Teil. Wenn ein Teil nicht auf eine neue Seite passt, aber als die Tabelle aufgeteilt wird, wird der größte teilbare Teil gesucht und die Ausgabe wird fortgesetzt.     Berichtsdesigner Zusätzliche Unterstützung für Theming (Runtime Themes) Der Berichtsdesigner und seine Komponenten wurden so angepasst, um sowohl systemspezifische als auch benutzerdefinierte Themen zu unterstützen. Jetzt hat der Berichtsdesigner immer den gleichen Stil wie Ihre Anwendung! In der Rad Studio 12.3 Version haben wir die Bildschirmeigenschaften mit hoher Anzeigeskalierung verbessert. Diese Änderung zielt darauf ab, die Qualität der Visualisierung und die Benutzerfreundlichkeit der Schnittstelle in der Entwicklungsumgebung zu verbessern, wenn mit Bildschirmen mit hoher Auflösung und Skalierungseinstellungen gearbeitet wird. In diesem Update wurde der Dialogeditor im Berichtsdesigner neu gestaltet. Es geht jetzt um einen festen Arbeitsbereich, genau wie in der Berichtsseite. Die Position des Dialogs kann über den Objektinspektor geändert werden. Die Codevervollständigung (Code completion) wurde im Berichtscode-Bearbeitungsfenster verbessert. Zu Ihrem Komfort wurde ein Popup-Menü im Fenster „Überwachungsliste“ (watch list) hinzugefügt.  Darüber hinaus haben wir das Fenster „Designeroptionen“ neu gestaltet, um kleinere Bildschirmauflösungen besser zu unterstützen.   Exporte und Transporte  Die Unterstützung benutzerdefinierter Symbole (EUDC) wurde in PDF- und SVG-Exporten implementiert. Außerdem wurde die Ausrichtung von RTL-Texten mit Ligaturen verbessert. Es wurde die Unterstützung für ZUGFeRD 2.3 mit den folgenden Profilen hinzugefügt: “MINIMUM”,” BASIC WL”, ”BASIC”, ”EN 16931”, ”EXTENDED”, ”XRECHNUNG”. Ein Beispiel mit Dateneinbindung für dieses Format finden Sie in InvoiceDemo, das mit dem Produkt mitgeliefert wird. Die neue Version verfügt über verbesserte Mechanismen für den Export in die XLSX- und DOCX-Formate. Dadurch wurde die Qualität der generierten Dokumente verbessert und wurden ihre Anpassungsmöglichkeiten erweitert. Der E-Mail-Transport (SMTP) wurde durch native TLS/STARTTLS-Unterstützung und XOAUTH-Autorisierungsunterstützung erweitert. Nutzen Sie sichere Kanäle zum Versand Ihrer Berichte.     FastReport Lazarus Zusätzlich zu den grundlegenden Änderungen, die in die VCL und Lazarus Versionen eingeflossen sind, unterstützt jetzt FastReport Lazarus auch hochauflösende Bildschirme (HiDPI).     FastCube VCL and FMX In der VCL-Version von FastCube wurden alle TTreeView-Steuerelemente durch TfrTreeView ersetzt. In allen Versionen gibt es nun eine Filteranzeige in der Liste der verfügbaren Felder.  Die FMX-Version bietet die Möglichkeit, benutzerdefinierte Filter und benutzerdefinierte Gruppen zu speichern, und enthält eine Reihe von Verbesserungen und Korrekturen.     FastQueryBuilder Die Unterstützung für hochauflösende Bildschirme (HiDPI) wurde hinzugefügt.     FastScript In diesem Update haben wir die Android-Unterstützung implementiert. Diese Neuerung funktioniert nur beim Kompilieren mit Zeichenfolgen, deren Indexierung mit eins beginnt. Sie können die volle Leistung der Skript-Engine in Ihren mobilen Android-Anwendungen nutzen.  Es wurde die Unterstützung für XML- und JSON-Klassen hinzugefügt. Weitere Informationen zum Arbeiten mit diesen Formaten finden Sie am Beispiel des Ladens von Daten in einen Bericht in diesem Artikel. Artikel lesen     FastReport VCL Controls Es ist jetzt möglich, benutzerdefinierte Knoten und Schnellzugriffslinks zu anderen Knoten für das TfrShellTreeView-Steuerelement zu erstellen. Wie man TfrShellTreeView konfiguriert und benutzerdefinierte Knoten hinzufügt, können Sie in unserem Artikel lesen. Artikel lesen     Installationsprogramm  Sie können jetzt unsere Android-Produkte installieren.  Außerdem wird jetzt die Installation von Paketen auf der 64-Bit-Version von Embarcadero RAD Studio 12.3 IDE unterstützt.     Vollständige Liste der Änderungen der Version 2025.2 ========================   VCL.Core [Localization]- Im LocalisationEditor wurde die Sortierung korrigiert;   VCL.Controls [Engine]+ Die Möglichkeit wurde hinzugefügt, eine benutzerdefinierte Struktur aus Root-Shell-Knoten und regulären Knoten zu erstellen;- Im smartMemo wurde die HiDPI-Unterstützung korrigiert;- Das Verhalten, bei dem ein Steuerelement nicht skaliert wurde, wenn es dem Parent zugewiesen wurde und wenn csFreeNotification auf ComponentState gesetzt war, wurde korrigiert;- Einige Fehler wurden beim Rendern von TfrTreeView und TfrShellTreeView behoben; [UI]- Für tfrTreeView wurde das Rendern mit einer benutzerdefinierten Farbe und im deaktivierten Zustand behoben; Lazarus.Controls [Engine]+ Die Möglichkeit wurde hinzugefügt, eine benutzerdefinierte Struktur aus Root-Shell-Knoten und regulären Knoten zu erstellen; - Im smartMemo wurde die HiDPI-Unterstützung korrigiert; [UI]- Die Möglichkeit wurde hinzugefügt, eine benutzerdefinierte Struktur aus Root-Shell-Knoten und regulären Knoten zu erstellen;- Für Lazarus wurde die HiDPI-Unterstützung implementiert;- Einige Fehler wurden beim Rendern von TfrTreeView und TfrShellTreeView behoben;   VCL.FastCube [UI]+ Die Filteranzeige wurde zur Liste der verfügbaren Felder hinzugefügt;+ Die Möglichkeit wurde hinzugefügt, benutzerdefinierte Filter und benutzerdefinierte Gruppen zu speichern;* TreeView wurde durch TfrTreeView ersetzt;- Die Lokalisierung der FastCube-Symbolleiste wurde korrigiert;   FMX.FastCube [UI]+ Die Filteranzeige wurde zur Liste der verfügbaren Felder hinzugefügt;+ Die Möglichkeit wurde hinzugefügt, ActivePopup in TfcxSliceGrid.FullUpdate zu löschen;* TreeView wurde durch TfrTreeView ersetzt;- Die Lokalisierung der FastCube-Symbolleiste wurde korrigiert;- Die fehlerhafte Funktion des TfcxRangesEditor-Formulars wurde behoben;- Fehler bei der Positionierung und Sichtbarkeit der Schaltflächen „OK“ und „Abbrechen“ wurden behoben;- Der FastCube FMX-Fehler wurde im Auswahlregel-Editor behoben;- Inkrementelles Suchen wurde in Dropdown-Listen korrigiert; [Engine]+ Die Möglichkeit wurde hinzugefügt, benutzerdefinierte Filter und benutzerdefinierte Gruppen zu speichern;- Ein Fehler wurde behoben, der auftrat, wenn man in den Top-N-Filter-Listenbereich klickte, nachdem TfcxSliceGrid.Slice := nil auf Null gesetzt wurde;    Lazarus.FastCube [UI]+ Die Filteranzeige wurde zur Liste der verfügbaren Felder hinzugefügt;* TreeView wurde durch TfrTreeView ersetzt;- Die Lokalisierung der FastCube-Symbolleiste wurde korrigiert;   VCL.FastQueryBuilder [UI]+ Die erste HiDPI-Version wurde hinzugefügt;   Lazarus.FastQueryBuilder [UI]+ Die erste HiDPI-Version wurde hinzugefügt; VCL.FastScript [Engine]+ In FastScript wurde die XML- und JSON-Unterstützung hinzugefügt;* TfsTree wurde durch das Ersetzen von TTreeView durch TfrTreeView verbessert;- In TfsScript.Destroy wurde ein Fehler behoben, der einen Absturz verursachen konnte;   FMX.FastScript [Engine]+ Die Android- Unterstützung wurde hinzugefügt;- In TfsScript.Destroy wurde ein Fehler behoben, der einen Absturz verursachen konnte;   Lazarus.FastScript [Engine]+ In FastScript wurde die XML- und JSON-Unterstützung hinzugefügt;* TfsTree wurde durch das Ersetzen von TTreeView durch TfrTreeView verbessert;- In TfsScript.Destroy wurde ein Fehler behoben, der einen Absturz verursachen konnte;- Das fs_ibx-Paket zum Kompilieren unter Lazarus wurde korrigiert;   VCL.FastReport [Preview]+ Die Minimierung wurde bei Application.MainFormOnTaskbar = True behoben; [Engine]+ Die Möglichkeit wurde hinzugefügt, Wasserzeichen für Berichtsseiten anzupassen;* Der RichView-Aufteilungsmechanismus wurde geändert, die Definition des minimalen untrennbaren Teils wurde hinzugefügt;- HTMLView wurde bei Page.EndlessHeight korrigiert;- Der Fehler „Klasse nicht gefunden“ wurde behoben, der bei der Verwendung der UseFileCache-Eigenschaft mit leeren Seiten im Bericht auftrat;- Die frxDecompressStream Funktion wurde korrigiert;- Falscher Wert wurde in CopyName-Makros korrigiert;- Das Exportieren von Daten und Uhrzeiten nach XLSX wurde korrigiert;- Das Aufteilen der RichView-Komponente mit leerer Zeichenfolge am Ende wurde korrigiert;- Die SVG-Rahmenaktualisierung wurde korrigiert;- Die Reihenfolge des Ladens der 'hmtx' TTF-Schriftartentabelle wurde korrigiert;- Ein Fehler wurde behoben, bei dem das Umbenennen eines Datensatzes den Standardbenutzernamen nicht änderte;- Ein Fehler wurde behoben, bei dem die Einstellungen des Druckdialogs zurückgesetzt wurden, wenn der Druckdialog auf einen zusätzlichen Bildschirm verschoben wurde;- Die Signaturgröße für nicht visuelle Komponenten wurde korrigiert;- Die HiDPI-Unterstützung wurde in smartMemo korrigiert;- Das Verhalten des Bandes mit zusätzlicher Höhe wurde korrigiert;- Ein Speicherzugriffsfehler wurde bei Verwendung einer externen DBX-Verbindung behoben;- Ein Fehler wurde beim Drucken eines verschachtelten Berichts mit mehreren Spalten auf einer Seite behoben;- Fehlendes Zeilenende wurde in CellData.Text behoben;- In Memo AutoWidth mit Makros wie TotalPages wurde ein Fehler behoben;- Ein Fehler wurde behoben, bei dem einige Tabellenereignisse zweimal ausgelöst wurden;- baBottom wurde bei der Aufteilung eines Objekts in mehrere Seiten korrigiert und die smMaxHeight Unterstützung wurde den statischen Tabellen hinzugefügt (nur AllowSplit Zeilen);- Ein Rundungsfehler der Band-Umbruchshöhe wurde behoben;- Linke Koordinate des Unterberichts wurde beim Wechsel zu einer neuen Seite korrigiert;- Die AnyDAC-Pakete von FastReport wurden so korrigiert, dass sie automatisch auf RAD Studio XE3 und älteren IDEs installiert werden;- Ein Fehler wurde behoben, bei dem Makros zur Entwurfszeit aktualisiert wurden;- Der Duplex-Auswahlmodus wurde korrigiert;- Das Verhalten von baBottom und smMaxHeight in der Fußzeile der Seite wurde korrigiert;- Ein Fehler wurde behoben, der das ParentForm-Singleton löschte, wenn das übergeordnete Formular nicht von einer Berichtskomponente geschlossen wurde; [Exports]+ Der Export von RTL-Text nach PDF wurde verbessert;+ Der Export externer Symbole wurde hinzugefügt;+ Beim PDF-Export wurde die ZUGfERD 2.3 Unterstützung hinzugefügt;- Die Compiler-Warnung wurde entfernt;- Beim Exportieren von langen HTMLViews wurde ein Fehler behoben;- Bei der Generierung von PDF/A-Metadaten wurde ein Fehler behoben;- PDF mit dem ZUGFerd-Standard wurde korrigiert;- Fehlerhafter Übergang des Eingabefokus durch Tab in Exportdialogen wurde behoben;- Das Zahlenformat wurde im XLS-Exportfilter korrigiert;- Die Symbolgröße wurde beim Ersetzen in SVG- und PDF-Exporten korrigiert;- Schwebender Anker der docx-Tabelle wurde entfernt und durch leere Zeile ersetzt; [Client-server]+ Neue Dialogformular-Steuerelemente wurden hinzugefügt: Date picker, DBComboBox, ListBox, CheckListBox, MaskEdit (ohne Maske), Password edit, PageControl, GroupControl, Panel;+ Die Möglichkeit wurde hinzugefügt, einen benutzerdefinierten HTTP-Header in Client-Server-Komponenten zu verwenden;* Die Dialoggenerierungs-Engine wurde überabreitet, verschachtelte Steuerelemente werden nun unterstützt, es wurde die Möglichkeit zur Erweiterung mit eigenen Steuerelementen hinzugefügt;* Exporte für Client-Server-Komponenten wurden aktualisiert;- Der Umgang mit Parametern und Dialogen wurde korrigiert; [Designer]+ Das Rendering und die Funktionalität von Designerelementen wurde in VCL-Themen verbessert;+ Das Popup-Menü wurde im Fenster „Überwachungsliste“ (watch list) des Berichtsdesigners hinzugefügt;* Für kleine Bildschirmauflösungen wurde das Fenster „Design -> Optionen“ neu gestaltet;* Der Dialog-Editor wurde im Berichtsdesigner neu gestaltet;- Ein RichEditor-Fehler mit alten Versionen von msftedit.dll wurde behoben;- Die Dialogskalierung wurde korrigiert (TfrxDialogPage);- TfrxLabel wurde bei AutoSize = True korrigiert; - TfrxDesigner.DefaultFont wurde bei HiDPI korrigiert;- Der TfrxDialogPage Betrieb auf einem zusätzlichen Bildschirm wurde korrigiert;- Im Berichtsdesigner wurde das Verhalten beim Bearbeiten von Barcodes über den Objektinspektor korrigiert; - Die Code-Vervollständigung wurde in verschachtelten Prozeduren und Funktionen in einem Skript sowie in einem Skript mit Zeichenfolgenverkettungsausdrücken korrigiert;- Das Verhalten von Hinweistexte wurde im Codefenster korrigiert;- Der Menüstil des Berichtsdesigners wurde in RAD 12.2 in der Entwurfszeit korrigiert; [Other]+ Die Möglichkeit wurde hinzugefügt, das Suchformular zu überschreiben;* Rumänische Ressourcen wurden aktualisiert;- Die InvoiceDemo-Kompilierung wurde korrigiert;- Der CustomScrollsDemo Beispiel wurde korrigiert; [Report object]+ Einseitiges TIFF wird jetzt in TfrxPictureView unterstützt;+ Für RFID-Tags wurde ein Objekt (TfrxDeviceCommand) hinzugefügt;  + Die Liste der angezeigten Seiten eines PDF-Dokuments (Range) wurde in TfrxPDFView implementiert;- Die Kompatibilität mit dem HTML-Viewer wurde korrigiert;- Das Barcode-Rendering wurde bei ((Rotation > 0) und (WideBarRatio > 2)) korrigiert;- Die Standard-Schriftgröße der oberen Barcode-Beschriftung wurde bei HiDPI korrigiert;- Das Verhalten der HTMLView-Komponente wurde korrigiert, wenn die colgroup Breite die Breiteneinstellungen des td-Tags überschrieb;- Die Berichterstellung mit RFID wurde korrigiert;- Falscher Clip wurde in RichView korrigiert;- Auf zweidimensionalen Barcodes wurden Beschriftungen korrigiert;- Auf zweidimensionalen Barcodes wurden Beschriftungen korrigiert;- Die "Swiss QRCode" Voreinstellung des QRCodes wurde korrigiert;   FMX.FastReport [Engine]- Der Fehler „Klasse nicht gefunden“ wurde behoben, der bei der Verwendung der UseFileCache-Eigenschaft mit leeren Seiten im Bericht auftrat;- Das Übertragen von gedrehten Texten wurde beim PDF-Export korrigiert;- Das Exportieren von Daten und Uhrzeiten nach XLSX wurde korrigiert; [Exports]- Die Compiler-Warnung wurde entfernt;- WordWrap wurde im PDF-Export mit einfacher Textvisualisierung behoben; [Designer]- Der Editor für Gruppenüberschriften wurde korrigiert;   Lazarus.FastReport [Engine]+ Die Möglichkeit wurde hinzugefügt, Wasserzeichen für Berichtsseiten anzupassen;- HTMLView wurde bei Page.EndlessHeight korrigiert;- Der Fehler „Klasse nicht gefunden“ wurde behoben, der bei der Verwendung der UseFileCache-Eigenschaft mit leeren Seiten im Bericht auftrat;- Die frxDecompressStream Funktion wurde korrigiert;- Falscher Wert wurde in CopyName Makros korrigiert;- Das Exportieren von Daten und Uhrzeiten nach XLSX wurde korrigiert;- Die Reihenfolge des Ladens der 'hmtx' TTF-Schriftartentabelle wurde korrigiert;- Ein Fehler wurde behoben, bei dem das Umbenennen eines Datensatzes den Standardbenutzernamen nicht änderte;- Ein Fehler wurde behoben, bei dem die Einstellungen des Druckdialogs zurückgesetzt wurden, wenn der Druckdialog auf einen zusätzlichen Bildschirm verschoben wurde;- Ein Fehler wurde beim Erstellen von TfrxComboEdit unter Lazarus behoben;- Die Signaturgröße für nicht visuelle Komponenten wurde korrigiert;- Die HiDPI-Unterstützung wurde für smartMemo korrigiert;- Das Verhalten des Bandes mit zusätzlicher Höhe wurde korrigiert;- Das Speicherleck wurde beim PDF-Export unter Linux behoben;- Ein Fehler wurde behoben, bei dem Makros zur Entwurfszeit aktualisiert wurden;- Der Duplex-Auswahlmodus wurde korrigiert;- Das Verhalten von baBottom und smMaxHeight in der Fußzeile der Seite wurde korrigiert;- Ein Fehler wurde behoben, der das ParentForm-Singleton löschte, wenn das übergeordnete Formular nicht von einer Berichtskomponente geschlossen wurde; [Exports]+ Der PDF-Export von RTL-Texten wurde verbessert;+ Das Exportieren von externen Symbolen wurde hinzugefügt;- Die Compiler-Warnung wurde entfernt;- Beim Exportieren von langen HTMLViews wurde ein Fehler behoben;- Bei der Generierung von PDF/A-Metadaten wurde ein Fehler behoben;- PDF mit ZUGFerd-Standard wurde korrigiert;- Der PDF-Export wurde bei HiDPI korrigiert;- Exportdialoge wurden bei HiDPI korrigiert;- Die Invertierung von Bildern wurde beim ZPL-Export korrigiert; [Client-server]+ Neue Dialogformular-Steuerelemente wurden hinzugefügt: Date picker, DBComboBox, ListBox, CheckListBox, MaskEdit (ohne Maske), Password edit, PageControl, GroupControl, Panel;+ Die Möglichkeit wurde hinzugefügt, einen benutzerdefinierten HTTP-Header in Client-Server-Komponenten zu verwenden;* Die Dialoggenerierungs-Engine wurde überabreitet, verschachtelte Steuerelemente werden nun unterstützt, es wurde die Möglichkeit zur Erweiterung mit eigenen Steuerelementen hinzugefügt;* Exporte für Client-Server-Komponenten wurden aktualisiert;- Der Umgang mit Parametern und Dialogen wurde korrigiert; [Designer]- Ein RichEditor-Fehler mit alten Versionen von msftedit.dll wurde behoben;- Die Dialogskalierung wurde korrigiert (TfrxDialogPage);- TfrxLabel wurde bei AutoSize = True korrigiert;- Das Rendering und die Funktionalität von Designerelementen wurde in VCL-Themen verbessert; [Other]+ Die Möglichkeit wurde hinzugefügt, das Suchformular zu überschreiben; [Report object]+ Für RFID-Tags wurde ein Objekt (TfrxDeviceCommand) hinzugefügt;- Das Verhalten der HTMLView-Komponente wurde korrigiert, wenn die colgroup Breite die Breiteneinstellungen des td-Tags überschrieb; - Auf zweidimensionalen Barcodes wurden Beschriftungen korrigiert;- Die Kompatibilität mit dem HTML-Viewer wurde korrigiert;- Die Erstellung von Composite Barcodes wurde korrigiert; [Preview]- Die Vorschau wurde HiDPI korrigiert.  
17. April 2025

Der Import von Dokumenten aus Word ist bereits in FastReport .NET Ultimate verfügbar

Mit der Veröffentlichung von 2025.2 ist das Abonnement für Ultimate .NET noch profitabler geworden! Alle Lizenznehmer haben ein zusätzliches Plugin erhalten, mit dem Sie Microsoft Word-Dokumente importieren können (.docx). Wenn Sie eine solche Datei öffnen, wird sie in eine Berichtsvorlage konvertiert FastReport .NET (.frx). Der Abonnementpreis für Ultimate .NET ist gleich geblieben. Aufgrund der großen Formatunterschiede ist es nicht immer möglich, die beiden Dokumente vollständig abzugleichen. Mit diesem Plugin können Sie jedoch den Zeitaufwand für die Erstellung einer Vorlage basierend auf einer vorhandenen DOCX-Datei erheblich reduzieren. Im Moment unterstützt unser Plugin nicht: Hervorheben des Hintergrunds eines Teils der Zeichenfolge, Formen sowie verschachtelte Vektorgrafiken Vector Markup Language (VML) und OLE-Objekte.  Um dieses Plugin sofort in Ihrer Geschäftslösung zu verwenden, aktualisieren Sie Ihre Lizenz in Ihrem persönlichen Konto auf Version 2025.2. Befolgen Sie dann die nachstehenden Anweisungen, um die DLL in FastReport zu registrieren, oder verbinden Sie das Nuget-Paket FastReport.Plugin.OOXMLImport. Informationen zu den Importfunktionen und zum Aktivieren des Plugins finden Sie im Artikel. Lesen Sie den Artikel
14. April 2025

50 % Rabatt auf die Verlängerung der FastReport Single-Lizenz – nur bis zum 30. April!

Gute Neuigkeiten für Inhaber einer FastReport VCL- oder FastReport .NET- Single-Lizenz! Nur bis zum 30. April können Sie Ihre Lizenz mit einem starken 50 % Rabatt verlängern. Das ist die perfekte Gelegenheit, wieder Zugriff auf alle aktuellen Updates, Verbesserungen und den technischen Support zu erhalten. Und Sie sparen dabei eine beachtliche Summe – ab 200 €!     Darum lohnt es sich: Zurück im Spiel – nutzen Sie FastReport weiterhin mit voller Effizienz; Sicher und stabil – die Verlängerung garantiert eine korrekte und sichere Funktion; Volle Leistung – bleiben Sie immer auf dem neuesten Stand mit allen neuen Funktionen.   Warten Sie nicht zu lange – dieses Sonderangebot gilt nur für wenige Wochen! Kontaktieren Sie uns unter sales@fast-report.com um es auszunutzen.
8. April 2025

Aktualisierung von .NET-Produkten auf Version 2025.2

Lernen Sie die neue Version 2025.2 für FastReport .NET: WinForms, WPF, Avalonia, Mono, WEB, Ultimate. Dieses Update bietet Ihnen die .NET 9-Unterstützung, eine Bibliothek zum Ausführen von C#-Skripten, ein Plugin zum Importieren von Word-Dokumenten, einen Apache Ignite-Connector, Designer- und Exportverbesserungen sowie neue Funktionen in WebReport.Verpassen Sie nicht die Gelegenheit, FastReport .NET zu aktualisieren und Ihre Möglichkeiten zu erweitern!     Dokumente aus Word importieren  Der FastReport .NET Ultimate-Komponentensatz enthält jetzt ein Plugin, mit dem Sie Microsoft Word-Dokumente (.docx) importieren können. Wenn Sie eine solche Datei öffnen, wird sie in eine FastReport .NET-Berichtsvorlage (.frx) umgewandelt. Aufgrund der großen Unterschiede zwischen den Formaten ist es nicht immer möglich, zwei Dokumente vollständig anzugleichen. Mit diesem Plugin können Sie jedoch den Zeitaufwand für die Erstellung einer Vorlage auf der Grundlage einer vorhandenen docx-Datei erheblich reduzieren. Zurzeit unterstützt unser Plugin folgendes nicht: Hintergrundhervorhebung eines Teils einer Linie, Shapes, sowie verschachtelte Vektorgrafiken, Vector Markup Language (VML) und OLE-Objekte. Lesen Sie den Artikel     .NET 9-Unterstützung Diese Plattform verbessert die Anwendungsleistung und fügt Ihren Projekten viele neue Funktionen hinzu. Es gibt mehr Unterstützung in diesem Update .NET 9 für: FastReport .NET, FastReport.Core, FastReport.Core.Skia, FastReport.WPF, FastReport.Avalonia, FastReport.Web, FastReport.Web.Skia, FastReport.Blazor.Wasm. Wir haben die binäre Serialisierung aufgegeben. BinaryFormatter verursachte eine Reihe von Sicherheitsproblemen und Microsoft hat seine Verwendung in .NET 9 eingestellt. Unser Team hat auch die BinaryFormatter-Klasse aus dem Quellcode entfernt. Mehr erfahren     Verbesserungen am Berichtsdesigner  In dieser Version wurden auch einige nützliche Funktionen eingeführt, die die Arbeit mit Berichten vereinfachen. Im Objektinspektor können Sie jetzt mit den Tastenkombinationen Ctrl + C Daten aus der Liste der Objekteigenschaften schnell kopieren. So können Sie Objekteigenschaften zwischen verschiedenen Teilen eines Dokuments oder sogar zwischen verschiedenen Berichten leicht übertragen.  Darüber hinaus ist es jetzt möglich, Summen und Parameter unter Beibehaltung der Schachtelungshierarchie zu kopieren. Das bedeutet, dass beim Kopieren komplexer Datenstrukturen ihre ursprüngliche Gestaltung erhalten bleibt, so dass die Struktur nach dem Kopieren nicht mehr manuell neu aufgebaut werden muss.       Herstellen einer Verbindung mit Apache Ignite Mit diesem Update wurde ein neues Plugin hinzugefügt, das die Arbeit mit Apache Ignite-Datenbanken bei der Erstellung von Berichten erheblich vereinfacht. Mit diesem Plugin können Sie Berichte direkt mit den angegebenen Datenbanken verbinden und so bequem auf die erforderlichen Daten für die Analyse und Visualisierung zugreifen.  Der Apache Ignite-Connector ist auf dem .NET Thin Client Ignite.NET implementiert. Er bietet die Möglichkeit, eine Verbindung mit den Apache Ignite-Clustern herzustellen, mit Caches (einschließlich SQL-Tabellen) zu arbeiten und verschiedene Datentypen zu verarbeiten. Darüber hinaus unterstützt der Connector die Verbindung mit einem oder mehreren Apache Ignite-Knoten. Die Knotenadressen werden im Format host:port angegeben und durch Kommas getrennt. Die Verbindung ist sowohl mit der Authentifizierung (wenn authenticationEnabled in der Konfiguration verwendet wird) als auch ohne Authentifizierung möglich. Der Connector unterstützt die Arbeit mit Schlüssel-Wert-Caches sowie mit SQL-Tabellen. Für Caches mit QueryEntity-Metadaten werden Operationen zum Abrufen einer Liste von Feldern und deren Datentypen unterstützt. Lesen Sie den Artikel     Verbessertes Vorschaukonzept  In OutlineControl haben wir benutzerfreundliche Schaltflächen mit Symbolen zum Minimieren und Maximieren hinzugefügt. Diese Schaltflächen gab es schon vorher, aber ohne Symbole. Darüber hinaus wurden Eigenschaften hinzugefügt, mit denen Sie die Breite und Höhe der Bildlaufleisten im Vorschaufenster ändern können.     Exportverbesserungen  Das Exportieren von Zahlen-, Währungs-, Datums-, Zeit- und Prozentformaten nach OpenOffice Calc (.ods) wurde hinzugefügt.  Mit diesem Update wurde auch das absatzweise Exportieren für Dateien im OpenOffice Writer-Format (.odt) eingeführt. Dies vereinfacht die Bearbeitung der generierten Dokumente und macht sie für den Menschen visuell nachvollziehbarer. Der neue Exportmodus ersetzt nicht den bestehenden Modus, sondern ergänzt ihn und erweitert seine Möglichkeiten.  Außerdem wurde die Option „Breite automatisch anpassen“ für MS Excel-Exporte hinzugefügt. Dieser Exportmodus funktioniert nur mit bestimmten Werten der Textobjekteigenschaften: die Eigenschaften AutoWidth und AutoShrink sind aktiviert; der Wert der HorzAling-Eigenschaft ist beliebig, außer Justify.     Änderungen im WebReport   Suche im gesamten Bericht Die Textsuche im gesamten Bericht wurde hinzugefügt, ähnlich wie in der Desktop-Version des Viewers. Wenn ein Wort auf einer anderen Seite gefunden wird, wechselt der Viewer automatisch zu dieser Seite. Die Suche ist in WebReport mit FastReport.Core, in WebReport für Blazor Server und in WebReport für Blazor Wasm verfügbar. Sie können die Anzeige der Suchschaltfläche mit der Eigenschaft WebReport.Toolbar.ShowSearchButton = false; verwalten.   Die Hervorhebungsfarbe der gefundenen Wörter kann mit der Eigenschaft WebReport.Toolbar.SearchHighlight = Color.Red;geändert werden.     Verbesserungen in den Caching-Einstellungen für WebReport Mit der Veröffentlichung der neuen Version verfügt WebReport über zusätzliche Optionen für die Caching- Einstellungen. Erstens können Sie jetzt individuelle Caching-Parameter für jede spezifische WebReport-Instanz festlegen. Bisher waren nur allgemeine Einstellungen verfügbar, die in allen Berichten zur Anwendung kamen, was unpraktisch sein konnte, insbesondere wenn Sie bestimmte Berichte länger im Speicher behalten mussten. Mit der webReport.CacheOptions Eigenschaft können Sie die Cache-Verweildauer für einen bestimmten Bericht anpassen. Zweitens bieten die Parameter AbsoluteExpirationDuration und AbsoluteExpiration mehr Flexibilität bei der Einstellung der Cache-Verweildauer eines Berichts. Zuvor wurde nur die CacheDuration Option verwendet, die auf einem gleitenden Prinzip beruhte: wenn ein Bericht eine bestimmte Zeit lang verwendet wurde, wurde der Timer zurückgesetzt und der Bericht blieb im Speicher. Dies kann dazu führen, dass der Bericht nie aus dem Cache gelöscht wird. Mit den neuen Parametern können Sie den genauen Zeitpunkt festlegen, zu dem ein Bericht unabhängig von seiner Verwendung dauerhaft aus dem Cache gelöscht werden soll. In diesem Fall können die CacheDuration Option und die neuen Parameter AbsoluteExpiration und AbsoluteExpirationDuration zusammen verwendet werden.   // Allgemeine Einstellungen für alle WebReport services.AddFastReport(options => { options.CacheOptions.CacheDuration = TimeSpan.FromMinutes(10); options.CacheOptions.AbsoluteExpirationDuration = TimeSpan.FromMinutes(20); });   // Individuelle WebReport-Einstellungen mit höherer Priorität webReport.CacheOptions = new WebReportCacheOptions() { CacheDuration = // ..., AbsoluteExpiration = DateTime.Now.AddMinutes(30), // oder AbsoluteExpirationDuration = // ... };     Aktualisierte ASP .NET Core Demo-Webanwendung Wir haben unsere Demo-Anwendung auf ASP .NET Core aktualisiert, so dass das Produkt Sie nicht nur mit seiner Funktionalität, sondern auch mit seinem Aussehen begeistern wird. Die aktualisierte Anwendung ist unter folgendem Link verfügbar. Online-Vorführung     Aktualisierte Online Designer Demoanwendung  Darüber hinaus haben wir die Demoanwendung des Online Designer aktualisiert, in der Sie weitere Beispiele unserer Berichte finden, exportieren und den aktualisierten Online-Designer daran ausprobieren können. Die aktualisierte Anwendung ist unter folgendem Link verfügbar. Kostenlos testen     FastScript .NET-Unterstützung Es wurde die Möglichkeit hinzugefügt, ein Berichtsskript mit FastScript .NET auszuführen. FastScript .NET ist eine C#-Skriptbibliothek, die von CodeDOM/Roslyn unabhängig ist und in den Umgebungen verwendet werden kann, in denen keine Codegenerierung (Native AOT, iOS, WASM) erlaubt ist.  FastScript .NET ist in den folgenden FastReport .NET: WinForms, WPF, Avalonia, Mono, WEB, Ultimate. Um FastScript .NET zusammen mit FastReport .NET zu verwenden: fügen Sie zu Ihrer Anwendung einen Link auf das FastReport.Plugins.FastScript-NuGet-Paket hinzu; führen Sie den folgenden Code vor der ersten Verwendung der Report-Klasse aus: FastReport.Code.CodeProvider.DefaultProvider = typeof(FastReport.Code.FastScript.FastScriptCodeProvider); Alle Berichte verwenden nun FastScript .NET, um Ausdrücke auszuwerten und den Berichtscode auszuführen. FastScript .NET unterstützt weder die VB.NET-Skriptsprache noch den dynamischen Typ. Einige Berichte, die das Objekt „Erweiterte Matrix“ verwenden, funktionieren nicht. Eine ausführliche Dokumentation zu FastScript .NET finden Sie unter diesem Link. Onlinedokumentation     Vollständige Liste der Änderungen  [Engine][Engine]+ Eine neue FastScript .NET Skript-Engine wurde hinzugefügt;+ Die Unterstützung für vertikale Tabs wurde hinzugefügt; + Das Importieren von DOCX-Dokumenten wurde zur Berichtsvorlage hinzugefügt;+ Die Unterstützung für die chinesische (vereinfachte) Sprachkodierung wurde beim RTF-Konvertieren hinzugefügt;+ Die Möglichkeit wurde hinzugefügt, die Integration mit der FastReport Cloud zu deaktivieren;+ Der GS1 Datamatrix Barcode wurde hinzugefügt;+ Das Konvertieren von SkBitmap zu Bitmap und Image wurde zu FastReport.SkiaDrawing hinzugefügt;- In der zh-tw-Kodierung wurde ein Fehler mit RichObject behoben;- Ein Fehler wurde bei der gleichzeitigen Kompilierung des Berichtsskripts bei der Erstellung von Berichten in mehreren Threads behoben;- Ein Fehler wurde behoben, der beim Drucken einer leeren Matrix auftrat;- Ein Fehler wurde bei der Übergabe von Nullwerten an MS SQL-Abfrageparameter behoben;- Fehler wurden bei der Kompilierung von Bibliotheken unter .NET 9 behoben;- Ein Fehler wurde behoben, der eine Endlosschleife verursachte, wenn die „StartNewPage“  Eigenschaft des untergeordneten Bands „Seitenkopf“ oder „Spaltenkopf“ aktiviert war;- Ein Fehler wurde behoben, der zu einer System.ArgumentException bei der Verbindung mit MySQL führte;- Bei der Berechnung des Seitenausdrucks PrintableExpression wurde ein Fehler behoben;- Ein Fehler wurde behoben, der zu einer System.NullReferenceException in der Methode Report.GetParameterValue führte; [Designer]+ Die Möglichkeit wurde hinzugefügt, Daten aus der Eigenschaftenliste des Objekts mit den Hotkeys Strg + C zu kopieren;+ Die Möglichkeit wurde hinzugefügt, Summen und Parameter unter Beibehaltung der Verschachtelungshierarchie zu kopieren;* Im Fenster „Berichtseite öffnen“ kann nur die *.frx-Datei ausgewählt werden;* Die Registerkarte mit gesperrten Einstellungen wird in den Mono-Designer-Einstellungen (Seite Code) ausgeblendet;* Die Logik der Stilverarbeitung von .rtf-Dateien wurde beim Öffnen im Designer geändert;- Ein Fehler wurde behoben, bei dem ein PictureObject-Bild nach Rücknahme von Änderungen im Designer verschwand, wenn eine vorbereitete Seite bearbeitet wurde;- Ein Fehler des Suchfilters wurde im Datenbaum behoben, der den aktuellen Suchstatus zurücksetzte;- Der Kontextmenüpunkt „Neuer Dialog“ wurde in der Community-Version entfernt, dessen Auswahl zu einer unbehandelten Ausnahme führte;- Ein Fehler wurde beim Starten der Vorschau von Berichten im Designer behoben;- Die System.InvalidOperationException wurde beim Löschen einer Datenquellenspalte korrigiert, wenn diese Spalte nicht mehr in der Datenbank vorhanden ist;- Das falsche Lesen des GS1 DataMatrix-Barcodes als DataMatrix wurde korrigiert;- Ein Fehler wurde bei der Auswahl der Platzierung von Bandspalten im Fenster „Spalteneditor“ behoben;- Das Löschen von Objekten und Kategorien aus der Seitenleiste wurde im Designer korrigiert;- Der Anzeigefehler von Symbolen, der mit AvaloniaUI 11.1 auftrat, wurde behoben;- Ein Fehler wurde behoben, bei dem beim Hinzufügen der IsNull-Funktion über den „Texteditor“ ein zusätzliches Komma hinzugefügt wurde; [Preview]+ Zum Senden von Berichten per E-Mail wurde eine Schaltfläche hinzugefügt, wenn MAPI in der Vorschau in WPF verwendet wird;+ Zu OutlineControl wurden Schaltflächen mit Symbolen zum Minimieren und Maximieren hinzugefügt;+ Die Möglichkeit wurde hinzugefügt, die Breite und Höhe der Bildlaufleiste über den Code zu ändern;- Ein Fehler mit falschem Papierformat wurde bei Druckern ohne die „Passend auf Seite“ Option behoben, wenn im Fenster „Drucken“ die Schaltflächen „Einstellungen“ und dann „Erweitert“ gedrückt wurden;  - In der Vorschau wurde das Deaktivieren der Speichern-Schaltfläche des erstellten Berichts behoben;- In der Vorschau wurde das Deaktivieren der Registerkarte „Speicher“ im Speichermenü von Berichten behoben;- Bei fehlenden Filtern wurde ein Fehler der „Erweiterten Matrix“ behoben;- Ein Fehler wurde behoben, bei dem das Druckformular beim Drücken von Strg + P nicht in der Vorschau angezeigt wurde; [Exports]+ Beim Exportieren nach PDF/A wird ebenso die „Autor“ Eigenschaft exportiert;+ Die Unterstützung für den HTML-Tag des geschützten Leerzeichens wurde beim Excel-Export hinzugefügt;+ Das Exportieren von Zahlen-, Währungs-, Datums-, Zeit- und Prozentformaten nach OpenOffice Calc (.ods) wurde hinzugefügt;+ Die Option „Breite automatisch anpassen“ wurde beim MS Excel-Export hinzugefügt;+ Ein neuer Modus zum Exportieren von Absätzen wurde zu OpenOffice Writer-Dokumenten (.odt-Format) hinzugefügt;* Jetzt wird beim Excel-Export von Seiten mit der Eigenschaft ExportAlias das Suffix "-n" nicht an den Blattnamen angehängt, wenn es möglich ist;- Ein Fehler wurde behoben, bei dem der Schriftname ohne Anführungszeichen in das HTML-Format exportiert wurde;- In FastReport.Core wurden Fehler einiger benutzerdefinierten Schriftarten behoben;- Ein HTML-Exportfehler wurde behoben, bei dem der Barcode-Rahmen nicht angezeigt wurde;- Ein Fehler wurde beim Öffnen von Dateien beim Exportieren eines Berichts mit Sonderzeichen in die ODT- und ODS-Formate behoben;- Die falsche Anzeige und das fehlerhafte Exportieren einiger Unicode-Symbole wurden in Skia/Avalonia behoben;- Das Exportieren von TableObject-Füllungen wurde beim PDF-Export korrigiert;- Das Exportieren von TableObject-Füllungen und Seiten wurde beim HTML-Export korrigiert;- Das Höhenexportieren für verbundene Zellen wurde beim Excel-Export hinzugefügt; [WebReport]+ Die Suche in WebReport wurde für ASP.NET hinzugefügt;+ Die Suche in WebReport wurde für Blazor WASM hinzugefügt;+ Die .NET 9-Unterstützung wurde für FastReport.Blazor.Wasm hinzugefügt;+ Die Möglichkeit wurde hinzugefügt, eine Verbindung mit gespeicherten Prozeduren in WebReport herzustellen;- Es wurde ein Problem behoben, das die Änderung der DataConnection nach ihrer Erstellung im OnlineDesigner verhinderte;- Die Konvertierung von TextObject in SVG wurde bei der Vorschau in Blazor korrigiert;- Die Unterstützung für Size CommandParameter wurde korrigiert;- Das Rendering von Seitenwechsel-Schaltflächen wurde in Blazor korrigiert, wenn sie deaktiviert sind; - Ein Fehler wurde behoben, bei dem der Wert des RouteBasePath Parameters bei der Konfiguration von WebReport nicht berücksichtigt wurde; [.NET Core]+ Der Filter für Verbindungstabelle wurde hinzugefügt;+ Die JsonConnectionType Klasse wurde hinzugefügt, um in der JsonDataConnection.GetConnectionType Methode verwendet zu werden. Die  GetConnectionType() und GetParameterType() Methoden wurden zum JsonDataConnection-Connector hinzugefügt;- Ein Kodierungsfehler wurde beim Verbinden einer CSV-Datendatei für einen Bericht in .NET Core behoben; [Common]* Die Breite des Fensters „Über das Programm...“ wurde geändert; [Extras]+ Die Möglichkeit wurde hinzugefügt, eine Verbindung mit Apache Ignite herzustellen; [Demos]+ Die UsedPackages.version-Datei wurde für WPF-Pakete hinzugefügt;- Die Avalonia- und WPF-Namen wurden beim Ausführen der Demoanwendung korrigiert.
7. April 2025

Aktualisierte Version von FastCube .NET 2025.2

In diesem Update haben wir uns darauf konzentriert, die Berechnungen zu beschleunigen, die Kompatibilität mit .NET 9 zu verbessern und die Änderungen verständlicher zu machen.     Umstellung auf invariante Mathematik. Bis zu 2 Mal schneller! Eine der wichtigsten Verbesserungen ist der Verzicht auf den Typ „Variante“ zugunsten der invarianten Mathematik. Diese Änderung führt zu einer erheblichen Beschleunigung der Erstellung und Neuberechnung von Würfeln, in einigen Fällen um mehr als das Doppelte schneller! Außerdem funktioniert der Würfel jetzt in verschiedenen Lokalisierungen korrekt, auch in nicht standardisierten Lokalisierungen (außer Latein), was seine Verwendung für internationale Benutzer erweitert.     Produktweise Verteilung von Änderungen FastCube .NET Updates sind nun produktweise (WinForms, Web, Mono und das gesamte FastCube .NET) verteilt. Dadurch wird der Update-Prozess transparenter. Sie sehen sofort, welche Änderungen die von Ihnen benötigte Version betreffen.     Behobener Fehler beim Lesen eines Streams aus einer komprimierten Datei  Zuvor wurden komprimierte Dateien in einigen Fällen nicht korrekt verarbeitet, was dazu führen konnte, dass Daten falsch oder gar nicht geladen wurden. Dieser Fehler wurde nun behoben und der Umgang mit komprimierten Dateien erfolgt vollständig korrekt. Dadurch erreichten wir: korrektes Lesen von Daten aus Archivdateien. einen stabileren Betrieb beim Herunterladen großer Dateien. Vermeidung von Fehlern im Multithread-Modus, was besonders für Webanwendungen wichtig ist. Wenn Ihr Projekt die Datenkomprimierung aktiv verwendet, empfehlen wir ein Upgrade auf Version 2025.2, um etwaige Probleme zu vermeiden.     Die Dateisignatur für den Würfel ist jetzt unveränderlich (const statt static) Zuvor wurde die Dateisignatur als static deklariert, wodurch sie während der Programmausführung geändert werden konnte. In einigen Fällen kann dies zu Fehlern im Zusammenhang mit Datenstrukturänderungen oder sogar Dateibeschädigungen führen. Änderungen in der neuen Version: Die Signatur wird jetzt als  const bekanntgegeben, wodurch sie auf der Code-Ebene unveränderlich bleibt. Die Integrität der Dateistruktur ist unabhängig von Änderungen im Programmcode gewährleistet. Der Umgang mit Cube-Dateien ist in verschiedenen Umgebungen, einschließlich Web und Mono stabiler geworden. Dies ist besonders wichtig für die Entwickler, die in Mehrbenutzer- und verteilten Systemen arbeiten.     Kompatibilität mit .NET 9   Eine der wichtigsten Verbesserungen ist die Hinzufügung der .NET 9-Unterstützung. FastCube .NET ist jetzt vollständig mit der neuesten Version der Plattform kompatibel, so dass Sie die Vorteile der neuen Funktionen und Erweiterungen von Microsoft nutzen können. Dies ist ein wichtiges Update für die Entwickler, die auf .NET 9 umstellen oder planen, es in ihren Projekten zu verwenden.  Wir möchten gesondert darauf hinweisen, dass die Unterstützung neuer Versionen die Stabilität des Produkts und die Integration mit den neuesten Technologien gewährleistet.     Aktualisierung der unterstützten Versionen von .NET Als Hauptversion gilt nun die .NET 8, die den aktuellen Standard für die meisten Unternehmensprojekte entspricht. Die .NET 6-Unterstützung wurde jedoch beibehalten, da es sich hierbei um eine Langzeitversion mit erweiterter Unterstützung handelt.  Darüber hinaus wurde, wie bereits erwähnt, die .NET 9-Unterstützung hinzugefügt, sodass Sie bei der Auswahl der Plattform für die Arbeit mit FastCube .NET flexibel sind, egal ob Sie Stabilität (in .NET 6) oder die neuesten Funktionen und Leistungsverbesserungen (.NET 9) wünschen.     Korrekturen und Verbesserungen im Demobeispiel  Im Demobeispiel für das boolean Format wurde ein Fehler behoben, durch den die korrekte Anzeige der Daten beeinträchtigt wurde. Dieses Format funktioniert nun korrekt und verursacht keine Fehler, was die Arbeit mit den Demobeispielen für die Benutzer erleichtert. Im Demowürfel "Sales by months" wurden früher die Titel falsch angezeigt. Jetzt wurde dieser Fehler behoben und die Feldnamen werden korrekt angezeigt, was die Genauigkeit und die Benutzerfreundlichkeit beim Umgang mit Daten gewährleistet.     Verbesserte Datenserialisierung  Eine der wichtigsten Verbesserungen ist die Optimierung des Datenserialisierungsprozesses. Es wurden neue Methoden hinzugefügt und Eigenschaften festgelegt, so dass Standardwerte nun seltener serialisiert werden.  Durch die Verringerung der Menge der serialisierten Daten wird das System beim Speichern und Laden von Informationen entlastet. Außerdem erhöhen diese Änderungen die Leistung, was sich besonders bei der Bearbeitung von großen Datenmengen bemerkbar macht.     Lister der Änderungen FastCube .NET WinForms [Common]- Ein Fehler wurde behoben, bei dem der Stream aus einer komprimierten Datei falsch gelesen wurde;* Die Dateisignatur für den Würfel hat jetzt einen konstanten Modifikator (const) anstelle eines statischen (static) und kann nicht geändert werden; FastCube .NET Web [Common]- Ein Fehler wurde behoben, bei dem der Stream aus einer komprimierten Datei falsch gelesen wurde;* Die Dateisignatur für den Würfel hat jetzt einen konstanten Modifikator (const) anstelle eines statischen (static) und kann nicht geändert werden; FastCube .NET Mono [Common]- Ein Fehler wurde behoben, bei dem der Stream aus einer komprimierten Datei falsch gelesen wurde;* Die Dateisignatur für den Würfel hat jetzt einen konstanten Modifikator (const) anstelle eines statischen (static) und kann nicht geändert werden; FastCube .NET [Common]+ Die Kompatibilität mit .NET 9 wurde hinzugefügt;+ .NET-Versionen wurden aktualisiert, wobei die Hauptversion jetzt .NET 8 ist und Zielplattformen wie .NET 6, .NET 8 und .NET 9 unterstützt werden;* Einige Eigenschaften wurden im WinForms-Editor vor dem Benutzer verborgen;* Der Typ „Variante“ wurde durch Variantenmathematik ersetzt;* Die Serialisierung wurde verbessert, Methoden wurden hinzugefügt und Eigenschaften wurden so eingestellt, dass Standardwerte seltener serialisiert werden;- Die Anzeige des Feldnamens wurde im Demowürfel "Sales by months" korrigiert;- Ein Fehler wurde im Demobeispiel für Boolesches Format behoben.     Weitere kritische Änderungen  Allgemeine Änderungen für FastCube Web, FastCube WinForms und FastCube Mono Lagecy-Delegate wurden durch kompatible ersetzt, da der Variant entfernt wurde und nun stattdessen Boxing durch Object verwendet wird: Klicken Sie hier, um zu erweitern   FastReport.Olap.Slice.Value2Delegate(System.Int32, System.Int32, FastReport.Olap.Utils.Variant, FastReport.Olap.Utils.Variant, System.Int32) FastReport.Olap.Slice.ValueDelegate(System.Int32, System.Int32, FastReport.Olap.Utils.Variant, System.Int32) FastReport.Olap.Slice.SliceChartDataHandler(FastReport.Olap.Slice.Slice, FastReport.Olap.Slice.ChartParams, System.String[], System.String[], FastReport.Olap.Utils.Variant[], System.Int32)   Veraltete Felder. Die folgenden Felder wurden durch die entsprechenden Eigenschaften ersetzt Klicken Sie hier, um zu erweitern   FastReport.Olap.Types.BoolValue -> public System.Boolean Value FastReport.Olap.Types.ByteValue -> public System.Byte Value FastReport.Olap.Types.DateTimeValue -> public System.DateTime Value FastReport.Olap.Types.DecimalValue -> public System.Decimal Value FastReport.Olap.Types.DoubleValue -> public System.Double Value FastReport.Olap.Types.FloatValue -> public System.Single Value FastReport.Olap.Types.IntValue -> public System.Int32 Value FastReport.Olap.Types.LongValue -> public System.Int64 Value FastReport.Olap.Types.SByteValue -> public System.SByte Value FastReport.Olap.Types.ShortValue -> public System.Int16 Value FastReport.Olap.Types.StringValue -> public System.String Value FastReport.Olap.Types.TimeSpanValue -> public System.TimeSpan Value FastReport.Olap.Types.UIntValue -> public System.UInt32 Value FastReport.Olap.Types.ULongValue -> public System.UInt64 Value FastReport.Olap.Types.UShortValue -> public System.UInt16 Value FastReport.Olap.Slice.MeasureCell -> public FastReport.Olap.Utils.Variant Value   Veraltete Methoden wurden durch kompatible Methoden ersetzt, aber anstelle des Typs Variant wird nun Data Boxing durch Object verwendet, wodurch Sie nicht Werte mit Speicherkopien, sondern einen Link auf ein Objekt übergeben können. Klicken Sie hier, um zu erweitern   FastReport.Olap.Types.BoolDTP -> public FastReport.Olap.Types.BoolValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.ByteDTP -> public FastReport.Olap.Types.ByteValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.CommonDataTypeProcessor``2<T, T2> -> public System.Int32 AddNewVariantValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.CommonDataTypeProcessor``2<T, T2> -> public T VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.DateTimeDTP -> public FastReport.Olap.Types.DateTimeValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.DecimalDTP -> public FastReport.Olap.Types.DecimalValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.DoubleDTP -> public FastReport.Olap.Types.DoubleValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.FloatDTP -> public FastReport.Olap.Types.FloatValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.IntDTP -> public FastReport.Olap.Types.IntValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.LongDTP -> public FastReport.Olap.Types.LongValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.Range -> public System.Boolean Match(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.Ranges -> public System.Boolean Match(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.SByteDTP -> public FastReport.Olap.Types.SByteValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.ShortDTP -> public FastReport.Olap.Types.ShortValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.StringDTP -> public FastReport.Olap.Types.StringValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.TimeSpanDTP -> public FastReport.Olap.Types.TimeSpanValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.UIntDTP -> public FastReport.Olap.Types.UIntValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.ULongDTP -> public FastReport.Olap.Types.ULongValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Types.UShortDTP -> public FastReport.Olap.Types.UShortValue VariantToValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Slice.AxisContainer -> public FastReport.Olap.Utils.Variant GetValue(System.Int32, System.Int32) FastReport.Olap.Slice.MeasuresContainer -> public FastReport.Olap.Utils.Variant GetMeasureValue(System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Slice.MeasuresContainer -> public FastReport.Olap.Utils.Variant GetSecondAdditionalTotalMeasureValue(System.Int32, System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Slice.Slice -> public System.Object Calc(FastReport.Olap.Types.Expression, FastReport.Olap.Utils.Variant) FastReport.Olap.Slice.Slice -> public FastReport.Olap.Utils.Variant CalcFuncForSelectedArea(FastReport.Olap.Types.AggregateFunction, FastReport.Olap.Types.Selection) FastReport.Olap.Slice.Slice -> public FastReport.Olap.Utils.Variant GetMeasureValue(System.Int32, System.Int32) FastReport.Olap.Slice.SliceField -> public FastReport.Olap.Utils.Variant GetUniqueValue(System.Int32) FastReport.Olap.Slice.SliceField -> public FastReport.Olap.Utils.Variant GetUniqueValueFromRecord(System.Int32) FastReport.Olap.Slice.SliceField -> public System.Int32 GetUniqueValueIdAndVariantFromRecord(System.Int32, FastReport.Olap.Utils.Variant&) FastReport.Olap.Slice.UniqueValuesFieldFilter -> public System.Void SetAllowedUniqueValueByValue(FastReport.Olap.Utils.Variant, System.Boolean) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValueFromParentValueByAppend(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 GetValueIdAtValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CommonUniqueValues -> public FastReport.Olap.Utils.Variant GetVariantByOrder(System.Int32) FastReport.Olap.Cube.CommonUniqueValues -> public FastReport.Olap.Utils.Variant GetVariantByValueId(System.Int32) FastReport.Olap.Cube.Cube -> public FastReport.Olap.Utils.Variant GetSourceValue(System.Int32, System.Int32) FastReport.Olap.Cube.Cube -> public FastReport.Olap.Utils.Variant GetSourceValue(System.Int32, FastReport.Olap.Cube.CubeField) FastReport.Olap.Cube.Cube -> public System.Int32 GetSourceValueIdAndVariant(System.Int32, System.Int32, FastReport.Olap.Utils.Variant&) FastReport.Olap.Cube.Cube -> public System.Int32 GetSourceValueIdAndVariant(System.Int32, FastReport.Olap.Cube.CubeField, FastReport.Olap.Utils.Variant&) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean AddUniqueValue(System.Int32, FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean AddUniqueValue(FastReport.Olap.Cube.CubeField, FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean SetFieldValue(System.Int32, FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean SetFieldValue(FastReport.Olap.Cube.CubeField, FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.DatePartUniqueValues -> public System.DateTime GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.DayOfWeekPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.DayOfYearPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.DayPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.HalfYearPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.HourPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.MillisecondPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.MinutePartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.MonthPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.QuarterPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.SecondPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.TimePartUniqueValues -> public System.TimeSpan GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValueFromParentValueByAppend(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public T2 GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 GetValueIdAtValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public FastReport.Olap.Utils.Variant GetVariantByOrder(System.Int32) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public FastReport.Olap.Utils.Variant GetVariantByValueId(System.Int32) FastReport.Olap.Cube.WeekNumberPartUniqueValues -> public System.Byte GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.YearMonthPartUniqueValues -> public System.Int32 GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Cube.YearPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetColOffsetTotalValueForDims(System.Int32, System.String) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetColOffsetValue(System.Int32) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetColOffsetValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetColRowOffsetValue(System.Int32, System.Int32) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetColRowOffsetWithLevelValue(System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetRowOffsetTotalValueForDims(System.Int32, System.String) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetRowOffsetValue(System.Int32) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetRowOffsetValue(FastReport.Olap.Utils.Variant) FastReport.Olap.Code.Measure -> public FastReport.Olap.Utils.Variant GetTotalValueForDims(System.String) FastReport.Olap.Code.Measures -> public FastReport.Olap.Utils.Variant GetDetailValue(System.Int32, System.String)   Veraltete Eigenschaften. Die folgenden Eigenschaften wurden so geändert, dass nun Boxing anstelle des Typs Variant verwendet wird: Klicken Sie hier, um zu erweitern   FastReport.Olap.Types.BoolValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.ByteValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.DateTimeValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.DecimalValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.DoubleValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.FloatValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.IntValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.LongValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.Range -> FastReport.Olap.Utils.Variant HighRange { public get; public set; } FastReport.Olap.Types.Range -> FastReport.Olap.Utils.Variant LowRange { public get; public set; } FastReport.Olap.Types.SByteValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.ShortValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.StringValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.TimeSpanValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.UIntValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.ULongValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Types.UShortValue -> FastReport.Olap.Utils.Variant Variant { public get; public set; } FastReport.Olap.Slice.CalculateMeasureEventArgs -> FastReport.Olap.Utils.Variant Data { public get; public set; } FastReport.Olap.Slice.CalculateValueEventArgs -> FastReport.Olap.Utils.Variant Value { public get; public set; } FastReport.Olap.Slice.SliceField -> FastReport.Olap.Utils.Variant CurrentValue { public get; } FastReport.Olap.Code.ContainerFieldItem -> FastReport.Olap.Utils.Variant CurrentValue { public get; } FastReport.Olap.Code.Dimension -> FastReport.Olap.Utils.Variant CurrentValue { public get; } FastReport.Olap.Code.Dimensions -> FastReport.Olap.Utils.Variant DetailValue { public get; } FastReport.Olap.Code.Measure -> FastReport.Olap.Utils.Variant CurrentValue { public get; }   Veraltete Typen. Die folgenden Typen sind veraltet und wurden vollständig entfernt, da sie nicht mehr verwendet werden. FastReport.Olap.Utils.Variant FastReport.Olap.Types.IVariantable FastReport.Olap.Types.UnAssigned   Die neuen Delegate ersetzen die alten, die den Typ Variant verwenden. FastReport.Olap.Slice.Value2Delegate(System.Int32, System.Int32, System.Object, System.Object, System.Int32) FastReport.Olap.Slice.ValueDelegate(System.Int32, System.Int32, System.Object, System.Int32) FastReport.Olap.Slice.SliceChartDataHandler(FastReport.Olap.Slice.Slice, FastReport.Olap.Slice.ChartParams, System.String[], System.String[], System.Object[], System.Int32)   Das neue Feld hat die bestehenden ersetzt, jetzt wird anstelle des Typs Variant das Boxing durch Object verwendet. FastReport.Olap.Slice.MeasureCell -> public System.Object Value   Die neuen Methoden haben die alten Methoden ersetzt, die den Typ Variant verwendet haben. Jetzt wird stattdessen Boxing verwendet und die Datenübertragung erfolgt per Link statt per Wert, was die Geschwindigkeit deutlich erhöht. Klicken Sie hier, um zu erweitern   FastReport.Olap.Types.Range -> public System.Boolean Match(System.Object) FastReport.Olap.Types.Ranges -> public System.Boolean Match(System.Object) FastReport.Olap.Slice.AxisContainer -> public System.Object GetValue(System.Int32, System.Int32) FastReport.Olap.Slice.MeasuresContainer -> public System.Object GetMeasureValue(System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Slice.MeasuresContainer -> public System.Object GetSecondAdditionalTotalMeasureValue(System.Int32, System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Slice.Slice -> public System.Object Calc(FastReport.Olap.Types.Expression, System.Object) FastReport.Olap.Slice.Slice -> public System.Object CalcFuncForSelectedArea(FastReport.Olap.Types.AggregateFunction, FastReport.Olap.Types.Selection) FastReport.Olap.Slice.Slice -> public System.Object GetMeasureValue(System.Int32, System.Int32) FastReport.Olap.Slice.SliceField -> public System.Object GetUniqueValue(System.Int32) FastReport.Olap.Slice.SliceField -> public System.Object GetUniqueValueFromRecord(System.Int32) FastReport.Olap.Slice.SliceField -> public System.Int32 GetUniqueValueIdAndVariantFromRecord(System.Int32, System.Object&) FastReport.Olap.Slice.UniqueValuesFieldFilter -> public System.Void SetAllowedUniqueValueByValue(System.Object, System.Boolean) FastReport.Olap.Cube.BaseDataReaderDataSet -> public System.Object GetValue(System.Int32) FastReport.Olap.Cube.BaseDataSet -> public System.Object GetValue(System.Int32) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValue(System.Object) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValueFromParentValue(System.Object) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 AddNewVariantValueFromParentValueByAppend(System.Object) FastReport.Olap.Cube.CommonUniqueValues -> public System.Int32 GetValueIdAtValue(System.Object) FastReport.Olap.Cube.CommonUniqueValues -> public System.Object GetVariantByOrder(System.Int32) FastReport.Olap.Cube.CommonUniqueValues -> public System.Object GetVariantByValueId(System.Int32) FastReport.Olap.Cube.Cube -> public System.Object GetSourceValue(System.Int32, System.Int32) FastReport.Olap.Cube.Cube -> public System.Object GetSourceValue(System.Int32, FastReport.Olap.Cube.CubeField) FastReport.Olap.Cube.Cube -> public System.Int32 GetSourceValueIdAndVariant(System.Int32, System.Int32, System.Object&) FastReport.Olap.Cube.Cube -> public System.Int32 GetSourceValueIdAndVariant(System.Int32, FastReport.Olap.Cube.CubeField, System.Object&) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean AddUniqueValue(System.Int32, System.Object) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean AddUniqueValue(FastReport.Olap.Cube.CubeField, System.Object) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean SetFieldValue(System.Int32, System.Object) FastReport.Olap.Cube.CubeManualLoadEventArgs -> public System.Boolean SetFieldValue(FastReport.Olap.Cube.CubeField, System.Object) FastReport.Olap.Cube.DatePartUniqueValues -> public System.DateTime GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.DayOfWeekPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.DayOfYearPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.DayPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.HalfYearPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.HourPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.IBaseDataSet -> public System.Object GetValue(System.Int32) FastReport.Olap.Cube.MillisecondPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.MinutePartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.MonthPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.QuarterPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.SecondPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.TimePartUniqueValues -> public System.TimeSpan GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 GetValueIdAtValue(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValue(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValueFromParentValue(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Int32 AddNewVariantValueFromParentValueByAppend(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public T2 GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Object GetVariantByOrder(System.Int32) FastReport.Olap.Cube.UniqueValues``2<T, T2> -> public System.Object GetVariantByValueId(System.Int32) FastReport.Olap.Cube.WeekNumberPartUniqueValues -> public System.Byte GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.YearMonthPartUniqueValues -> public System.Int32 GetChildValueFromParentValue(System.Object) FastReport.Olap.Cube.YearPartUniqueValues -> public System.Int16 GetChildValueFromParentValue(System.Object) FastReport.Olap.Code.Measure -> public System.Object GetColOffsetTotalValueForDims(System.Int32, System.String) FastReport.Olap.Code.Measure -> public System.Object GetColOffsetValue(System.Int32) FastReport.Olap.Code.Measure -> public System.Object GetColOffsetValue(System.Object) FastReport.Olap.Code.Measure -> public System.Object GetColRowOffsetValue(System.Int32, System.Int32) FastReport.Olap.Code.Measure -> public System.Object GetColRowOffsetWithLevelValue(System.Int32, System.Int32, System.Int32, System.Int32) FastReport.Olap.Code.Measure -> public System.Object GetRowOffsetTotalValueForDims(System.Int32, System.String) FastReport.Olap.Code.Measure -> public System.Object GetRowOffsetValue(System.Int32) FastReport.Olap.Code.Measure -> public System.Object GetRowOffsetValue(System.Object) FastReport.Olap.Code.Measure -> public System.Object GetTotalValueForDims(System.String) FastReport.Olap.Code.Measures -> public System.Object GetDetailValue(System.Int32, System.String)   Neue Eigenschaften haben die veralteten Eigenschaften ersetzt bzw. ergänzt: Klicken Sie hier, um zu erweitern   FastReport.Olap.Types.BoolValue -> System.Boolean Value { public get; public set; } FastReport.Olap.Types.ByteValue -> System.Byte Value { public get; public set; } FastReport.Olap.Types.DateTimeValue -> System.DateTime Value { public get; public set; } FastReport.Olap.Types.DecimalValue -> System.Decimal Value { public get; public set; } FastReport.Olap.Types.DoubleValue -> System.Double Value { public get; public set; } FastReport.Olap.Types.FloatValue -> System.Single Value { public get; public set; } FastReport.Olap.Types.IntValue -> System.Int32 Value { public get; public set; } FastReport.Olap.Types.LongValue -> System.Int64 Value { public get; public set; } FastReport.Olap.Types.Range -> System.Object HighRange { public get; public set; } FastReport.Olap.Types.Range -> System.Object LowRange { public get; public set; } FastReport.Olap.Types.SByteValue -> System.SByte Value { public get; public set; } FastReport.Olap.Types.ShortValue -> System.Int16 Value { public get; public set; } FastReport.Olap.Types.StringValue -> System.String Value { public get; public set; } FastReport.Olap.Types.TimeSpanValue -> System.TimeSpan Value { public get; public set; } FastReport.Olap.Types.UIntValue -> System.UInt32 Value { public get; public set; } FastReport.Olap.Types.ULongValue -> System.UInt64 Value { public get; public set; } FastReport.Olap.Types.UShortValue -> System.UInt16 Value { public get; public set; } FastReport.Olap.Slice.CalculateMeasureEventArgs -> System.Object Data { public get; public set; } FastReport.Olap.Slice.CalculateValueEventArgs -> System.Object Value { public get; public set; } FastReport.Olap.Slice.SliceField -> System.Object CurrentValue { public get; } FastReport.Olap.Format.CustomFormat -> System.String DefaultFormatValue { public get; public set; } FastReport.Olap.Code.ContainerFieldItem -> System.Object CurrentValue { public get; } FastReport.Olap.Code.Dimension -> System.Object CurrentValue { public get; } FastReport.Olap.Code.Dimensions -> System.Object DetailValue { public get; } FastReport.Olap.Code.Measure -> System.Object CurrentValue { public get; }   Neue Typen: FastReport.Olap.Utils.VMath hat den Typ Variant ersetzt, jetzt werden die Berechnungen durch invariante Berechnungen unter Verwendung von Boxing und Typkonvertierung durchgeführt. FastReport.Olap.Types.IValueStruct``1<T> ist eine Schnittstelle zur Implementierung eines eigenen Boxing-Typs. FastReport.Olap.Types.SimpleCompareAction ist eine Aufzählung für invariante mathematische Aktionstypen.   Änderungen für FastCube WinForms und FastCube Mono Das veraltete Feld wurde durch ein technisch kompatibles Feld ersetzt. FastReport.Olap.Controls.SizingInfo -> public FastReport.Olap.Utils.Variant Data Neues Feld: FastReport.Olap.Controls.SizingInfo -> public System.Int32 Data  
7. April 2025

Veröffentlichung von FastReport Business Graphics .NET 2025.2

Wir freuen uns, die Veröffentlichung von bekannt zu geben FastReport Business Graphics .NET! In diesem Update haben wir uns auf die Verbesserung der Kompatibilität und der Unterstützung für moderne Plattformen sowie auf die Vorbereitung auf zukünftige Versionen von .NET konzentriert.     Kompatibilität mit .NET 9 Eine der wichtigsten Änderungen ist das Hinzufügen der erforderlichen Attribute zu den Komponenten, um die vollständige Kompatibilität mit .NET 9 sicherzustellen. Dies bedeutet, dass FastReport Business Graphics .NET ab jetzt in den aktuellsten Umgebungen ordnungsgemäß funktioniert und dabei die Stabilität, Leistung und Unterstützung für alle neuen Funktionen des Frameworks gewährleistet. Wenn Sie eine Umstellung auf .NET 9 planen oder es bereits in Ihren Projekten verwenden, können Sie sicher sein, dass unsere Komponenten ohne zusätzliche Anpassungen einsatzbereit sind!     Aktualisieren unterstützter .NET-Versionen Wir haben die Liste der Zielplattformen aktualisiert und uns dabei auf die Anforderungen moderner Entwickler konzentriert: .NET 8 gilt nun als Hauptversion.  Es ist ein stabiles und produktives Framework, das für die meisten Projekte empfohlen wird. Wir unterstützen Ihre .NET 6 Version weiter, wenn Sie keine Aktualisierung durchgeführt haben und eine langfristige Unterstützung (LTS) haben. Für Entwickler, die die neuesten Technologien und Funktionen nutzen möchten, wurde die  .NET 9-Unterstützung hinzugefügt. Dank dieser Änderungen bleibt FastReport Business Graphics .NET ein relevantes Tool für die Arbeit mit Geschäftsgrafiken in Ihren Projekten.     Liste der Änderungen [Common] + Zu den Komponenten wurden Attribute hinzugefügt, die für die Kompatibilität mit .NET 9 erforderlich sind;+ Die .NET-Versionen wurden aktualisiert, die .NET 8 Version gilt jetzt als Hauptversion und die unterstützten Zielplattformen umfassen .NET 6, .NET 8 und .NET 9.
2. April 2025

Mehr Flexibilität mit der neuen Lizenzoption „Business“

Ab dem 1. April 2025 ist eine Lizenzoption für FastReport .NET und FastReport VCL verfügbar. Die „Business“-Lizenz ist für Entwicklerteams von 5 bis 12 Personen konzipiert und eignet sich perfekt, wenn die „Team“-Lizenz zu klein und die „Site“-Lizenz zu groß ist. Was bietet die neue Lizenzoption noch? Persönlicher Manager Prioritärer Support Build-Server Zugriff auf Wissensdatenbank und Produkt-Webinare Frühzeitiger Zugriff auf Sonderangebote Persönlicher Rabatt und Vorzugskonditionen bei der Abonnementverlängerung Zugriff für bis zu 12 Entwickler an einer geografischen Adresse Verfügbar in 32 Sprachen Dokumentation in zwei Sprachen: Englisch und Deutsch   Wählen Sie die für Sie passende Option Voller Preis
Fast Reports
  • 800-985-8986 (Englisch, USA)
  • +31 97 01025-8466 (Englisch, EU)
  • +49 30 56837-3928 (Deutsch, DE)
  • +55 19 98147-8148 (Portugiesisch, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.