![]() |
TJvFormStorage
Hallo mitsammen,
ich wusste ja, dass es kein Spaziergang würde mit dem Umstieg von 5 auf 12. Aber so ... Zuerst aber mal danke an @dummzeuch für die GExperts! FormStorage war beim 5er ein Klacks - Kompo aufs Form - fertig. Zwar finde ich die Idee mit den unterschiedlichen Storages praktisch, wenn ich wüsste, was die wollen. ![]() 1. TJvFormStorage gedroppt 2. TJvAppIniFileStorage ebenfalls 3. 2 bei 1 eingetragen (Bei AppStorage) 4. Bei JvFormStorage1.AppStoragePath die Vorgabe '%FORM_NAME%' drin gelassen (ist ja wohl die Sektion in der Ini, denke ich), aber auch mit 'fMain' probiert, bringt auch nichts. 5. JvFormStorage1.Active und sicherheitshalber auch JvFormStorage1.FlushOnDestroy sind an 5. Bei JvAppIniFileStorage1.FileName Pfad und Name der Ini-Datei angegeben Zusätzlich noch mit SaveFormPlacement und RestoreFormPlacement probiert, es passiert auch nichts, die (schon vorhandene) Inidatei wird nicht aktualisiert. Die nächste Stufe wäre in den Quellcode hineingraben. Verwendet das Ding von euch jemand erfolgreich? |
AW: TJvFormStorage
Zitat:
Dumme Frage: Hast Du auch konfiguriert, welche Properties von welchen Controls gespeichert werden sollen? Oder geht es erst mal nur um die Position des Fensters? |
AW: TJvFormStorage
Doch, ich hab zwei Komponenten (Edit, Checkbox) zum Testen eingetragen. Er erzeugt auch keine Ini-Datei und wenn man sie ihm anlegt, passiert nichts drin. Wahrscheinlich ist es was so Offensichtliches, dass ich immer drüberfalle.
Was ist der Vorteil deiner Config-Objekte? Vielleicht ist das für mich ja ein Anlass, umzudenken. Ich handhabe derzeit viele Einstellungen über ein Einstellungsfenster mit mehreren Tabs, dort Checkboxen, Radiobuttons, Eingabefelder, das Übliche halt, sind über 700 Parameter allein dort. Da dieses Fenster immer aktiv ist, ist auch die Abfrage problemlos. Magst du kurz was zu deinen Objekten sagen? |
AW: TJvFormStorage
Zitat:
DFM:
Code:
Unit:
object Form1: TForm1
Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 336 ClientWidth = 635 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object ed_Bla: TEdit Left = 136 Top = 56 Width = 121 Height = 21 TabOrder = 0 end object TheFormStorage: TJvFormStorage AppStorage = TheAppIniFileStorage AppStoragePath = '%FORM_NAME%' StoredProps.Strings = ( 'ed_Bla.Text') StoredValues = <> Left = 312 Top = 176 end object TheAppIniFileStorage: TJvAppIniFileStorage StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' AutoFlush = True FileName = 'blablub.ini' SubStorages = <> Left = 376 Top = 240 end end
Delphi-Quellcode:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, JvAppStorage, JvAppIniStorage, JvComponentBase, JvFormPlacement, Vcl.StdCtrls; type TForm1 = class(TForm) TheFormStorage: TJvFormStorage; TheAppIniFileStorage: TJvAppIniFileStorage; ed_Bla: TEdit; private public end; var Form1: TForm1; implementation {$R *.dfm} end. Zitat:
|
AW: TJvFormStorage
Hallo Thomas,
hab deine pas/dfm verglichen - logisch identisch. Dann ... Autsch - das ist mir jetzt schon mehr als peinlich ... Bevor ich mich hier ins Forum begeben hatte, hab ich selbst versucht, einen Ersatz mit einer TMemIniFile zu überlegen. Das in einer eigenen Unit für allgemeine Funktionen und dort dieses hier:
Code:
Nun ja, und Trumpf sticht halt immer ...
initialization
cIniFile := TMemIniFile.Create(AppData + 'PatchworkM.ini') finalization cIniFile.UpdateFile; FreeAndNil(cIniFile); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 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