AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAccesViolation beim Zugriff auf ini

Ein Thema von Fussball-Robby · begonnen am 3. Mär 2008 · letzter Beitrag vom 3. Mär 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 15:03
Zitat von Fussball-Robby:
Falls es dich interessiert, das ist meine einzige Globale Variable
form1 wird genauso als globale variable verwendet obwohl sie es hier nicht nötig ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 15:06
Okay, dann eben zwei... Dass man nicht mit massig globalen Variablen arbeiten sollte, weiß ich außerdem aus eigener Erfahrung nur allzu gut
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#13

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 15:12
Wenn man schon in Delphi programmiert, sollte man sich doch auch langsam von alten Pascal-Angewohnheiten verabschieden.

Statt ...
Delphi-Quellcode:
procedure load;
Var ini:TIniFile;
    fname:string;
    i,count:integer;
begin
  fname:=Unit1.sDir+'main.ini';
  form1.listbox1.clear;
  ini:=TIniFile.create(fname);
  try
     count:=ini.readinteger('main','forms',0);
     if count >0 then do
        for i:=1 to count do
           form1.listbox1.items.add(ini.readstring('main','form'+inttostr(i),''));
  finally
     ini.free;
  end;
end;
... kannst du die Funktion "Load" auch als Methode deiner "Form1" machen und hättest damit schonmal einen Schritt in Richtung OOP getan.

Delphi-Quellcode:
unit Unit1;

interface

uses ...;

type

  TForm1 = class(TForm)
    // ...
  private
    procedure Load;
    // ...
  public
    // ...
  end;

var
  // ...

implementation

{$R *.dfm}

procedure TForm1.Load;
var
  ini: TIniFile;
  FName: String;
  i, Count: Integer;
begin
  FName := Unit1.sDir + 'main.ini'; // << globale Variable *schauder* Mach dir 'ne "Config"-Klasse
  Listbox1.Clear;
  ini := TIniFile.Create(FName);
  try
    Count := ini.ReadInteger('main', 'forms', 0);
    if Count > 0 then
      for i := 1 to Count do
        Listbox1.Items.Add(ini.ReadString('main', 'form' + inttostr(i), ''));
  finally
    FreeAndNil (ini);
  end;
end;
  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 01:38 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