AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi INIFile.ReadSections führt zum Abstrakten Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

INIFile.ReadSections führt zum Abstrakten Fehler

Ein Thema von gmc616 · begonnen am 16. Okt 2007 · letzter Beitrag vom 16. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Okt 2007, 13:07
Zitat von winkel79:
Und du bist sicher, daß er die INI findet?
Selbst wenn er sie nicht findet, darf es nicht "knallen", die Stringliste wäre einfach nur leer.
Daniel Schuhmann
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#12

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Okt 2007, 13:10
wenn er sie nicht findet, kommts zum Crash in der ntdll.dll, jedenfalls meistens
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Okt 2007, 13:10
Zitat von Progman:
RavenIV: stimmt, das kann zum crash führen.
Kommentare in Ini's nur mit ; am Anfang einer Zeile, das wird akzeptiert.
Stimmt, ich glaube, ich hatte das mit
Zitat:
Groesse=100 ; dies ist die Grösse des Fensters,
die am Anfang gesetzt wird
geschrieben.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Okt 2007, 13:25
Zitat von Progman:
wenn er sie nicht findet, kommts zum Crash in der ntdll.dll, jedenfalls meistens
Nein, beim Lesen nicht, nur beim Schreiben.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Ini: TIniFile;
  SL: TStringList;
begin
  Ini := TIniFile.Create('NUL');
  SL := TStringList.Create;
  Ini.ReadSections(SL);
  SL.Free;
  Ini.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create('NUL');
  Ini.WriteString('Test', 'Test1', 'Val1');
  Ini.Free;
end;
Nur bei der Schreibroutine kracht es. Wenn beim Lesen ein Fehler auftritt, wird der Standardwert angenommen.
Daniel Schuhmann
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#15

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Okt 2007, 13:45
Ok, stimmt, hast recht
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#16

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 18. Okt 2007, 22:34
Also, ich hab keine Ahnung was der Grund für den Fehler ist.

Es hat sich allerdings heraus gestellt, dass mein BDS generell Probleme mit TStringlists bzw. TStrings zu haben scheint. Einige meiner Programme machen plötzlich Probleme wenn ich sie mit dem z.Z. installierten BDS compiliere. Immer wieder stürzen sporadisch die Anwendenung ab, wenn ich z.B. Dateien in TStringlisten laden. Der gleiche Code auf einem anderen Rechner mit D7 compiliert, funzt problemlos.

komisch komisch ...

Ich werd mal das BDS platt machen und Neuinstallieren. Mal sehn obs was hilft ...

Danke an alle

gmc
  Mit Zitat antworten Zitat
ulhau

Registriert seit: 23. Okt 2006
20 Beiträge
 
#17

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 19. Okt 2007, 02:46
Guten Morgen gmc616!

Ehe du dein BDS platt machst, probiere doch mal das kompilierte Programm (die StringListvariante)ohne IDE auszuführen. Manchmal macht Inifiles so seltsame Sachen wenn das Programm innerhalb der IDE getestet wird. Aber bei der Ausführung ohne IDE gibt es dann meistens keine Probleme mehr.

Jedenfalls die Stringlistvariante hat keine Probleme gemacht als ich das Programm standalone ausgeführt habe, obwohl die gleichen Fehler beim ausführen innerhalb der IDE wie bei dir aufgetreten sind. (Die Ini war natürlich eine andere.)

Tschüssss
  Mit Zitat antworten Zitat
SM3D

Registriert seit: 23. Sep 2003
1 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Jul 2009, 02:25
Zitat von gmc616:
Namd DP,

ich glaub ich werd bekloppt!

Könnt ihr mir verraten warum dieser Code zu einem Abstrakten Fehler führt? (BDS2006)

Delphi-Quellcode:

uses IniFiles;

[...]

procedure TForm1.Button1Click(Sender: TObject);
var
  MyIni : TIniFile;
  MySections : TStrings;
  I: Integer;
begin
  MySections := TStrings.Create;
  MyIni := TIniFile.Create(ChangeFileExt (Application.ExeName,'.ini'));

  MyIni.ReadSections(MySections); // <-- Hier knallts !!

  for I := 0 to MySections.count - 1 do
    ShowMessage (MySections.Strings[i]);

  MySections.Free;
  MyIni.Free;

end;
Isses schon so spät, dass ich's nicht sehe??

Danke und Grüße
gmc
Grüsse,

ich würde es mal mit
MySections := TStringList.Create; statt mitMySections := TStrings.Create; probieren, hab Dein Beispiel nachgestellt und eins A geklappt, mit Deinem Code kommt Abstrakten Fehler, wenn Du Mein Beispiel nimmst kommen in ner MessageBox die Sections

MfG SM3D
Gruß Sascha
[SM3D Game Development]
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#19

Re: INIFile.ReadSections führt zum Abstrakten Fehler

  Alt 16. Jul 2009, 09:06
Zitat von Daniel Schuhmann:
Zitat von Progman:
wenn er sie nicht findet, kommts zum Crash in der ntdll.dll, jedenfalls meistens ;)
Nein, beim Lesen nicht, nur beim Schreiben.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Ini: TIniFile;
  SL: TStringList;
begin
  Ini := TIniFile.Create('NUL');
  SL := TStringList.Create;
  Ini.ReadSections(SL);
  SL.Free;
  Ini.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create('NUL');
  Ini.WriteString('Test', 'Test1', 'Val1');
  Ini.Free;
end;
Nur bei der Schreibroutine kracht es. Wenn beim Lesen ein Fehler auftritt, wird der Standardwert angenommen.
Also wer auch einen illegalen und verbotenen Dateinamen verwendet, da ist es kein Wunder das es kracht. Afaik sollte es sogar hier durch den Dateinamen bei beiden Aufrufen knallen.

Siehe auch MSDN: File Names, Paths, and Namespaces dort unter Basic Naming Conventions. Warum sollte jedem DOS/Shell Nutzer bekannt sein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:24 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