Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TIniFile umbiegen zu TIniMemFile (https://www.delphipraxis.net/190774-tinifile-umbiegen-zu-tinimemfile.html)

Blup 7. Nov 2016 08:20

AW: TIniFile umbiegen zu TIniMemFile
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1352803)
Zitat:

Zitat von Jim Carrey (Beitrag 1352782)
Aber gibt es eine Möglichkeit die Deklaration von TIniFile so umzubiegen, dass TMemIniFile benutzt wird und zusätzlich bei MeineIniDatei.Free; dann .UpdateFile + Free ausgeführt wird?

Ich habe noch nicht so recht den Sinn hinter dieser Aktion verstanden, aber in der Regel verwendet man im Programm überall
Delphi-Quellcode:
TCustomIniFile
(der gemeinsame Vorfahre von
Delphi-Quellcode:
TIniFile
und
Delphi-Quellcode:
TMemIniFile
). Bei der Erzeugung wird dann entweder eine
Delphi-Quellcode:
TIniFile
- oder
Delphi-Quellcode:
TMemIniFile
-Instanz oder sonst eine Ableitung von
Delphi-Quellcode:
TCustomIniFile
erzeugt. Das automatische
Delphi-Quellcode:
UpdateFile
wird (ab Berlin) durch ein
Delphi-Quellcode:
AutoSave := true
realisiert. Das schreibt auch nur, wenn sich wirklich was verändert hat.

Leider gibt es schlecht programmierte Komponenten, die nur ein TIniFile akzeptieren, obwohl alle notwendigen Methoden bereits in TCustomIniFile deklariert sind.

Man könnte natürlich ein TMemIniFile zu TIniFile casten, aber das währe mir dann doch ein bischen zu unsauber.
Alternative war dann ein Klassenadapter als Ableitung von TIniFile, der alle virtuellen Methoden überschreibt und auf ein internes TMemIniFile umleited.

Jim Carrey 7. Nov 2016 09:35

AW: TIniFile umbiegen zu TIniMemFile
 
Ich habe mittlerweile alles auf TCustomIniFile als Deklaration und TMemIniFile.Create umgestellt.
Ich muss jetzt zwar höllisch aufpassen, dass ich da wo es gebraucht wird kein UpdateFile vergesse aber das klappt schon.

Zu Berlin will ich aktuell nicht umsteigen, da mein altes XE'schen gut funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 Uhr.
Seite 3 von 3     123   

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