Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Properties speichern/laden à la RX-FormStorage (https://www.delphipraxis.net/214405-properties-speichern-laden-%E0-la-rx-formstorage.html)

jik 6. Jan 2024 10:07

Properties speichern/laden à la RX-FormStorage
 
Hallo zusammen,

lange, lange habe ich verweigert, auf neuere Delphis upzugraden, weil ich im 5er alles optimal hergerichtet hatte, von GExperts bis RX-Tools. Nun habe ich mich wegen Multiplattform und 64bit schweren Herzens durchgerungen - und der Frust ist nicht klein. Denn die paar fremden feinen Sachen gibt es maximal bis XE.

Meine konkrete Frage (nach längerer Suche hier) an euch: Kennt ihr eine Komponente wie FormStorage von RX? Oder eine Idee, wie man auf einfache Weise Properties speichert und lädt? Da in meinem Programm allein in den allgemeinen Einstellungen rund 700 Properties gespeichert werden - ist zwar diesbezüglich das heftigste, aber doch nur eines von 80 Formularen - wäre es ziemlich heavy, im FormCreate/FormClose alle einzeln in eine Ini-Datei zu schreiben.

Habt ihr Ideen, die mein schweres Herz erleichtern könnten ...?

dummzeuch 6. Jan 2024 10:29

AW: Properties speichern/laden à la RX-FormStorage
 
Die rx Komponenten sind schon vor Jahren in die JVCL übernommen worden.

JvFormStorage ist das, was Du suchst.

jik 6. Jan 2024 10:39

AW: Properties speichern/laden à la RX-FormStorage
 
Danke, Thomas, werde ich gleich nachsehen.

jik 6. Jan 2024 10:53

AW: Properties speichern/laden à la RX-FormStorage
 
JCL/JVCL gibt es nur bis XE10 ...

jaenicke 6. Jan 2024 11:00

AW: Properties speichern/laden à la RX-FormStorage
 
Zitat:

Zitat von jik (Beitrag 1531547)
JCL/JVCL gibt es nur bis XE10 ...

Das stimmt nicht. Dann warst du leider nicht auf der richtigen Seite. Die aktuellen Quelltexte gibt es hier - inkl. Packages für Delphi 12:
https://github.com/project-jedi/jcl
https://github.com/project-jedi/jvcl
Die URLs kannst du direkt z.B. mit TortoiseGit auschecken.

himitsu 6. Jan 2024 11:06

AW: Properties speichern/laden à la RX-FormStorage
 
JCL/JVCL gibt es prinzipiell auch im GetIt, um es darüber mit einem Klick runterzuladen+installieren. (nur in der CE funktionierte? das alte Setup nicht egal ob Github oder GetIt)



Binär speichern, bzw. das in Form der Text-DFM, dafür bringt Delphi selbst was mit.

Delphi-Referenz durchsuchenTReader und Delphi-Referenz durchsuchenTWriter, welche die Published-Property von Nachkommen der TPersisten/TComponent speichern und laden.
Bzw. Nachfahren von TForm/TCustomForm/TDataModul machen das Laden standardmäßig sogar automatisch, im Create.

Da gibt es z.B.
TStream.WriteComponent TStream.ReadComponent
und
ObjectBinaryToText ObjectTextToBinary
TestStreamFormat ObjectResourceToText ObjectTextToResource

Sowie noch viel weitere Funktionen und Klassen in der Unit Classes.pas aka System.Classes.pas.




Und dann gibt es auch viele Dinge, um z.B. ein Objekt (inkl. Unterobjekte und -listen) von/zu XML oder JSON zu serialisieren.

jik 6. Jan 2024 13:01

AW: Properties speichern/laden à la RX-FormStorage
 
Hallo zusammen,

kurzer Report: Der manuelle Installationsversuch via GitHub ist leider kläglich gescheitert, jede Menge an Fehlermeldungen nach Start der Install.bat im JCL-Verzeichnis - aufgegeben. Dann bin ich himitsus Fährte mit GetIt gefolgt und siehe da - es hat klaglos gefunzt! Nun werde ich mich durch die shocking Menge an neuen Compos durchwühlen ...

Danke euch allen für eure Hilfe und ein schönes Wochenende!
Martin

jaenicke 6. Jan 2024 13:10

AW: Properties speichern/laden à la RX-FormStorage
 
Zitat:

Zitat von jik (Beitrag 1531552)
kurzer Report: Der manuelle Installationsversuch via GitHub ist leider kläglich gescheitert, jede Menge an Fehlermeldungen nach Start der Install.bat im JCL-Verzeichnis - aufgegeben.

Schön wären in solch einem Fall mehr Details. Vielleicht lässt sich am Installer ja etwas verbessern.

jik 6. Jan 2024 18:12

AW: Properties speichern/laden à la RX-FormStorage
 
Ach so, das wusste ich nicht mit dem Einstellen.

Es kamen eine Menge Zeilen mit der Meldung, das Zeichen '"' in ...\JCL\source\include\jedi\jedi.inc wäre nicht in Ordnung, mit der Abschließenden Message, es wären zu viele Fehler gewesen. Leider hab ich den Screenshot nicht mehr. Das war nach Aufruf von ...\JCL\install.bat

jaenicke 6. Jan 2024 21:13

AW: Properties speichern/laden à la RX-FormStorage
 
Zitat:

Zitat von jik (Beitrag 1531566)
Es kamen eine Menge Zeilen mit der Meldung, das Zeichen '"' in ...\JCL\source\include\jedi\jedi.inc wäre nicht in Ordnung, mit der Abschließenden Message, es wären zu viele Fehler gewesen. Leider hab ich den Screenshot nicht mehr. Das war nach Aufruf von ...\JCL\install.bat

Das klingt als hättest du die Quelltexte als Zip heruntergeladen statt sie auf normalem Weg auszuchecken. Das hatte ich ja geschrieben:
Zitat:

Zitat von jaenicke (Beitrag 1531548)
Die URLs kannst du direkt z.B. mit TortoiseGit auschecken.

Wenn du die Dateien nicht richtig auscheckst, fehlt nämlich das entsprechende Submodule an dieser Stelle:
https://github.com/project-jedi/jcl/...source/include
Dort fehlt dann die jedi.inc. Die musst du dann manuell dorthin kopieren.

himitsu 7. Jan 2024 00:04

AW: Properties speichern/laden à la RX-FormStorage
 
Wobei ZIP+Entpacken und Auscheckten doch keinen Unterschied macht, weil es kommen doch die selben Dateien raus? (abgesehn vom fehlenden .git-Verzeichnis)

jaenicke 7. Jan 2024 00:39

AW: Properties speichern/laden à la RX-FormStorage
 
Zitat:

Zitat von himitsu (Beitrag 1531575)
Wobei ZIP+Entpacken und Auscheckten doch keinen Unterschied macht, weil es kommen doch die selben Dateien raus? (abgesehn vom fehlenden .git-Verzeichnis)

Nein, im Zip sind keine Submodule enthalten, weshalb die Datei dort fehlt. Und wenn man kein Git installiert hat, funktioniert auch das submodule update nicht, das soweit ich mich erinnere im install-Skript aufgerufen wird.

himitsu 7. Jan 2024 02:01

AW: Properties speichern/laden à la RX-FormStorage
 
ahhhhhh, OK, joar :oops:

jik 7. Jan 2024 07:56

AW: Properties speichern/laden à la RX-FormStorage
 
Hatte mir das Schildkröten-git angesehen, aber mir wahrscheinlich nicht genug Zeit genommen, durchzublicken, wie es funktioniert. Dann dachte ich, dass, wenn eine ZIP angeboten wird, das auch funktionieren sollte. Jedenfalls danke, das nächste Mal weiß ich, dass es einen Unterschied macht - so lernt man ständig dazu.

jaenicke 7. Jan 2024 08:27

AW: Properties speichern/laden à la RX-FormStorage
 
Zitat:

Zitat von jik (Beitrag 1531579)
Hatte mir das Schildkröten-git angesehen, aber mir wahrscheinlich nicht genug Zeit genommen, durchzublicken, wie es funktioniert.

Eine Versionsverwaltung benötigst du ja auch, um deine Quelltexte zu sichern. Ich habe hier einmal eine Kurzanleitung geschrieben:
https://entwickler-ecke.de/viewtopic...&postorder=asc

Für das Auschecken im Falle der JEDI Komponenten reicht es TortoiseGit zu installieren, Git zu installieren, wenn es noch nicht installiert ist (da kommt eine Aufforderung), und dann das Auschecken in Schritt 2 durchzuführen (bei Git heißt das Clone).

jik 7. Jan 2024 12:47

AW: Properties speichern/laden à la RX-FormStorage
 
Danke Sebastian, git wollte ich ohnehin wieder installieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz