![]() |
Inifile in eine Klasse und ansteuern
Hey DPLer,
ich möchte meine Klasse TMYIniFile die Eigenschaft ini_file vom Typ TInifiles einbringen. Nun sollen Schreib- und Lesemthoden noch mit hinzukommen. Der Quelltext :
Delphi-Quellcode:
unit TMyIniFileUnit; interface uses Inifiles; type TMYIniFile = class(TIniFile) ini_File : TIniFile; public function get_ID(Sektion, Ident : String) : String; procedure set_ID(Sektion, Ident,iDID : String); end; implementation { TMYIniFile } function TMYIniFile.get_ID(Sektion, Ident : String): String; begin Result := ini_File.ReadString(Sektion,Ident,'0'); end; procedure TMYIniFile.set_ID(Sektion, Ident,iDID : String); begin ini_File.WriteString(Sektion,Ident,iDID); end; und nun im Hauptprogramm aufgerufen:
Delphi-Quellcode:
und siehe da:uses TMyIniFileUnit; procedure TMainForm.Button1Click(Sender: TObject); var Ini : TMYIniFile; begin Ini := TMYIniFile.Create('bert.ini'); Ini.set_ID('A','B','C'); Label1.Caption := Ini.get_ID('A','B'); Ini.Free; end; --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Projekt_Kreditanfrage.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 004B96DE in Modul 'Projekt_Kreditanfrage.exe'. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK Hilfe --------------------------- Der Fehler tritt bei ini_File.WriteString(Sektion,Ident,iDID) in der Funktion auf. Ich möchte aber über diesen Weg gehen. Ich weiß, dass strukturiert ggf. einfacher ist. Wie lößt man so etwas richtig??? Danke Merwoinger |
Re: Inifile in eine Klasse und ansteuern
Mal abgesehen von deinem Problem: Gibt es denn einen Grund, eine Klasse in eine Klasse zu packen? :gruebel:
|
Re: Inifile in eine Klasse und ansteuern
Hi,
dein Problem liegt darin, dass du glaube ich nicht wirklich viel vom Ableiten verstanden hast, oder? Meine es gar nicht böse. Aber du leitest etwas von einem Inifile ab. Das heißt die neue Klasse hat alle Eigenschaften und Methoden (z.B. writeString), die auch alle seine Vorfahren haben. Das wiederum führt uns zu der Frage von Mathias, warum du eine Variable vom Typ iniFile in einem IniFile (also einem Nachfahren) brauchst. Ganz zu schweigen davon, dass diese Variable auch nicht published sein sollte, wird von der nie eine Instanz erzeugt. Mit deinem Set soll aber in dieses IniFile (nil) geschrieben werden. Wenn du einfach die Variable löscht und stattdessen self.writeString benutzt wird alles gut. Gruß Der Unwissende |
Re: Inifile in eine Klasse und ansteuern
Hey DPler,
ja ich weiß das es auch sehr viel einfacher geht. Über strukturiert... Zitat:
Zitat:
Zitat:
Danke Merowinger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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