Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.603 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: TJvFormStorage

  Alt 7. Jan 2024, 16:25
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.
Ich habe gerade ein neues Projekt angelegt und es ausprobiert. Es hat zuerst auch nicht geklappt, weil ich vergessen hatte, bei der AppIniFileStorage-Komponente die Property Filename zu setzen. Danach ging's aber.

DFM:
Code:
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
Unit:
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.
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?
Der Hauptvorteil ist, dass es unabhängig von Formularen ist. Man kann sich eine Struktur basteln, die der Logik folgt statt der Darstellung. Dafür hat man aber den zusätzlichen Aufwand, dass man die Einstellungen zwischen Config-Objekt und Config-Dialog hin- und herschaufeln muss.
Thomas Mueller
  Mit Zitat antworten Zitat