AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi JvAppIniFileStorage - Fensterposition Problem
Thema durchsuchen
Ansicht
Themen-Optionen

JvAppIniFileStorage - Fensterposition Problem

Ein Thema von haentschman · begonnen am 1. Mai 2008 · letzter Beitrag vom 2. Mai 2008
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#1

JvAppIniFileStorage - Fensterposition Problem

  Alt 1. Mai 2008, 18:44
Hallo alle miteinander...

ich speichere meine Fensterpositionen mit JvAppIniFileStorage und JvFormStorage.

Folgendes Problem:

- alle Fenster haben zur Entwurfszeit poScreenCenter, die Fenster sollen wenn keine INI vorhanden in der Mitte angezeigt werden.
- beim Erststart werden die geöffneten Fenster auch in Bildschirmmitte angezeigt.

aber:

- alle Fenster, welche beim Erststart nicht geöffnet wurden, erhalten beim nächsten Start die Positionen wie poDesigned

- in der INI stehen auch die Positionen wie poDesigned !


habe ich eine Option übersehen

PS: ich bin schon fast so weit, die Positionen selbst zu speichern.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: JvAppIniFileStorage - Fensterposition Problem

  Alt 1. Mai 2008, 20:04
Frage: Warum speichert du Positionen für Fenster die nicht geöffnet wurden? Normalerweise werden die Positionen doch von der JvFormStorage-Instanz gespeichert in auf dem jeweiligen Formular enthalten ist. Wenn ich das Formular nicht öffne dann wird auch nichts gespeichert.

Werden deine Formulare denn alle automatisch erzeugt oder erzeugst du sie erst wenn sie benötig werden (dann sollte das nämlich nicht passieren).

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#3

Re: JvAppIniFileStorage - Fensterposition Problem

  Alt 1. Mai 2008, 20:21
Danke für die Antwort...

- alle Formulare werden automatisch erzeugt.
- ich selbst speichere keine Fensterinformationen.
- Alle Informationen werden durch JvAppINIFileStorage gespeichert.

- da alle Formulare erzeugt wurden speichert er alle Fensterpositionen.

bei den geöffneten Fenstern werden die aktuellen Positionen gespeichert, bei den nicht geöffneten die Positionen wie Designed obwohl sie auf poScreenCenter stehen und eigentlich mit diesen Positionen erzeugt werden sollten.

ist das eine Eigenart von JvFormStorage, daß poScreenCenter übergangen wird.

Zitat:
Wenn ich das Formular nicht öffne dann wird auch nichts gespeichert.
...davon bin ich auch ausgegangen es werden aber alle Fensterpositionen in die INI eingetragen.

- ich habe das nur durch Zufall bei Neuinstallation auf einem anderen Rechner entdeckt.
- vieleicht wird das Speichern vor dem Destroy des Formulars ausgelöst. Dann sollten aber die Positionen poScreenCenter entsprechen und nicht poDesigned
- JvFormStorage steht auf jedem Formular Active:= True
- JvAppINIFileStorage AutoFlush:= True, AutoReload:= True, FlushOnDestroy:= False

...alles in allem
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: JvAppIniFileStorage - Fensterposition Problem

  Alt 1. Mai 2008, 20:29
Zitat von haentschman:

Zitat:
Wenn ich das Formular nicht öffne dann wird auch nichts gespeichert.
...davon bin ich auch ausgegangen es werden aber alle Fensterpositionen in die INI eingetragen.
War von mir eigentlich falsch formuliert und sollte lauten:

"Wenn ich das Formular nicht erzeuge dann wird auch nichts gespeichert."

Soweit ich mich erinnere werden die Positionen irgendwann gespeichert wenn das Formular freigegeben wird. Wenn es also nie erzeugt wurde dann wird auch nichts gespeichert.

Was du mal ausprobieren kannst:

Bei den FormStorages Active=false setzen und dann z.B. in OnClose der Formulare die Positionen per Code mit "SaveFormPosition()" speichern. So wird nichts mehr gespeichert wenn die Formulare garn nicht offen waren. (das Laden in OnCreate mittles "LoadFormPosition()" nicht vergessen!)

eine andere, aber bessere, Alternative wäre es die Formulare erst dann zu erzeugen wenn sie gebraucht werden. Also raus mit den Dingern aus der Auto-Create Liste und immer schön per Code erzeugen bevor sie angezeigt werden. Spart dann außerdem noch Ressourcen.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#5

Re: JvAppIniFileStorage - Fensterposition Problem

  Alt 1. Mai 2008, 21:35
Zitat:
Bei den FormStorages Active=false setzen und dann z.B. in OnClose der Formulare die Positionen per Code mit "SaveFormPosition()" speichern. So wird nichts mehr gespeichert wenn die Formulare garn nicht offen waren. (das Laden in OnCreate mittles "LoadFormPosition()" nicht vergessen!)
... wäre auch mein nächster Ansatz gewesen. Pobiere ich mal aus...

Danke
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#6

Re: JvAppIniFileStorage - Fensterposition Problem

  Alt 2. Mai 2008, 19:10
kurzes Update...

so funktioniert es:

1. JvFormStorage.Active:= False
2. im OnCreate der Form JvFormStorage.RestoreFormPlacement;
3. im OnClose der Form JvFormStorage1.SaveFormPlacement;

aber unabhängig davon wäre es schon interesant, warum die Formulare nicht mit den Positionen poScreenCenter erzeugt werden.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz