TCustomIniFile lesen und schreiben

Delphi-Gangster

Grünschnabel
Hallo ihr

Ich verzweifel hier grad, weil bei mir das lesen aus Textdateien oder ini files absolut nicht klappen will :/ Das einzige was ich schon geschafft habe ist, aus einer Textdatei was in ein memo zu laden und daraus zu speichern, aber sobald ich das mit einer variable mache (TStringList) kommt immer eine fehlermeldung, genau wie in dem folgenden programm:
Code:
procedure TForm1.btladenClick(Sender: TObject);
var Configini: TCustomIniFile;
    dings: string;
begin
//  blubb0r.LoadFromFile('datei.cfg');
//  mmMemo.Lines.LoadFromFile('datei.cfg');
  Configini:=TCustomIniFile.create('datei.ini');
  mmMemo.clear;
  dings:=Configini.ReadString('Section','Tag','not found');
  mmMemo.Lines.Add('muh');
  Configini.free;
end;
was is denn daran falsch ? :(
 
Der Inhalt der Fehlermeldung könnte hier helfen.

Kann er womöglich datei.ini nicht finden?

vop
 
Also die Fehlermessage die kommt ist:
Code:
Project ptest.exe raised exception class EAbstractError with message 'Abstract Error'. Process stopped. Use Step or Run to continue.

die datei findet er schon die liegt ja im win-verzeichnis.. wenn ich auf die im .exe-verzeichnis verlinke passiert dasselbe
 
Hi,
TCustomIniFile ist eine abstrakte Basisklasse für Klassen, welche auf irgendeine Art von Ini-Dateien zugreifen. Für deine Zwecke wäre TIniFile zu verwenden. Wenn du mit der Windows Registry arbeiten willst, wäre z.B. TRegistryIniFile eine geeignete Klasse.

Kann man aber auch mit der Hilfe rausfinden, wenn man keine Ahnung hat, was eine abstrakte Klasse ist:
Do not create instances of TCustomIniFile. Instead, use or create descendants of TCustomIniFile, such as TIniFile, TRegistryIniFile, and TMemIniFile.
Peter
 
okay danke das funktioniert *freu* :)

und kannst du mir jetzt vielleicht noch sagen wieso sich Textdateien bei mir nicht in eine TStringList einlesen lassen ? ich glaub is dieselbe Fehlermeldung..

mfg ich
 
Kann ich so nicht nachvollziehen. Der gleiche Fehler kann da eigentlich nicht auftreten. Sonst zeig mal den Quellcode, wo der Fehler auftritt. Das hier funktioniert jedenfalls:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var myStringList: TStringList;
begin
   myStringList := TStringList.Create;
   myStringList.LoadFromFile('c:\boot.ini');
   memo1.Lines := myStringList;
end;
Peter
 

Neue Beiträge

Zurück