AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Checkbox-wert aus INI lesen und form schliessen geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Checkbox-wert aus INI lesen und form schliessen geht nicht

Offene Frage von "lore"
Ein Thema von lore · begonnen am 2. Jun 2008 · letzter Beitrag vom 4. Jun 2008
Antwort Antwort
lore

Registriert seit: 2. Jun 2008
Ort: Norderstedt
29 Beiträge
 
#1

Re: Checkbox-wert aus INI lesen und form schliessen geht nic

  Alt 2. Jun 2008, 23:54
Moin Nick,

das ist irgendwie der Wurm drin glaube ich..jetzt bin ich wieder bei EAccessViolation (bestimmt ein doppelter aufruf) angekommen..man kann nix closen was nicht da ist usw. Magst Du nochmal drauf gucken? Ist wohl nicht mein Jahr..

Wenn ich das richtig sehe, dann ist

0 = false = cbUnchecked = form zeigen
1 = true = cbChecked = form nicht anzeigen.

Wenn du den Quellcode mal ausprobieren willst, ändere einfach erstmal die Werte der config.ini von 1 auf Null. Wenn nichts gezeigt wird ist alles gut, wenn das zweite Fenster gezeigt wird, dann muss ich noch ein ExceptionHandling machen. Letzteres entsteht aber nur aufgrund des logischen Fehlers von mir.







Projekt-> Quelltext anzeigen:

Delphi-Quellcode:
program intro2;

uses
  Forms,
  main in 'main.pas{frmMain},
  frmIntro in 'frmIntro.pas{frmMeldung},
  sysutils,
  StdCtrls,
  inifiles;

{$R *.res}
var ini: TiniFile;

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmMain, frmMain);
  Application.CreateForm(TfrmMeldung, frmMeldung);
  try
   ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'config.ini');
   if ini.readbool('Intro','State',false) then
   begin
   frmMeldung.show; //Wird übersprungen und nicht ausgeführt
   end;
  finally
   ini.free
  end;

  Application.Run;
end.


frmMain:
Delphi-Quellcode:
unit main;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TfrmMain = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frmMain: TfrmMain;
implementation
uses frmIntro, inifiles;

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
var ini : TiniFile;
begin
    try
     ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'config.ini');
 // ini.Writebool('Intro','State',frmMeldung.cb1.Checked); //kann nicht gehen, weil frmMeldung noch nicht existiert
     if ini.readbool('Intro','State',false) then frmMeldung.show; //erzeugt EAccessViolation
    finally
      ini.Free;
    end;
end;
end.

frmIntro

Delphi-Quellcode:
unit frmIntro;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmMeldung = class(TForm)
    cb1: TCheckBox;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure cb1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frmMeldung: TfrmMeldung;

implementation
uses main, inifiles ;

{$R *.dfm}

procedure TfrmMeldung.Button1Click(Sender: TObject);
begin

end;

// Wenn das Häckchen gesetzt wird, tu was..
procedure TfrmMeldung.cb1Click(Sender: TObject);
var ini : Tinifile;
begin
    try
     ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'config.ini');
     ini.WriteBool('Intro', 'state', false);
    finally
     ini.free;
     frmMeldung.Close;
    end;
end;

procedure TfrmMeldung.FormClose(Sender: TObject; var Action: TCloseAction);
var ini : TiniFile;
begin
   try //stellt sicher, dass beim schliessen auch der richtig Wert in der INI steht
   ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'config.ini');
   ini.Writebool('Intro','State',cb1.Checked);
   finally
     ini.Free;
   end;
end;

end. // END OF ALL

So, ich hoffe ich belaste ihr von keinem zu doll die nerven und gelobe mal Besserung.
Danke vorab für deine Hilfe!!

Karsten
Angehängte Dateien
Dateityp: zip intro2_163.zip (233,0 KB, 2x aufgerufen)
Karsten
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:23 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 by Thomas Breitkreuz