Einzelnen Beitrag anzeigen

m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#1

Form Automatsch öffnen, wenn ein User es möchte!

  Alt 17. Jun 2002, 21:11
Hi Leute, so nun hab ich ein Problem beseitigt, schon ist das nächste da. Dies ist aber (glaub ich jedenfalls) das letzte, was ich noch habe.

Ich habe folgendes vor.
Ich habe eine Form (ExtraForm) wo ich die Geburtstagskinder sehe, die von heute an bis hin in einer Woche, Geburtstag haben.
Das mit dem Filtern von den Geburtstagskindern funktioniert einwandfrei.

Folgendes. Ich habe in der ExtraForm eine Checkbox eingebaut. Wenn ein User diese Checkbox aktiviert, dann öffnet sich die Form automatisch beim start. Wenn er sie nicht aktiviert, kann er über einen Button auf die form Zugreifen.

Der Wert von der checkbox wird in eine INI-Datei geschrieben

So sieht der code in der Hautpform aus:
Im Puplic Teil meiner Hauptform habe ich folgenden code:

Code:
public
     { Public-Deklarationen }
  procedure save_inifile;
  procedure load_inifile;
  end;
Weiters stehen die save_inifile und die load_inifile auch in der Hauptform:

Code:
procedure TKundendaten.save_inifile;
begin
  try
    Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'settings.ini' );
    Ini.WriteBool('Sektion1','check_box',ExtraForm.CheckBox1.Checked);
  finally
    Ini.Free;
  end;
end;
Code:
procedure TKundendaten.load_inifile;
begin
  try
    Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'settings.ini' );
    ExtraForm.CheckBox1.Checked:=ini.ReadBool('Sektion1','check_box', true)
  finally
    Ini.Free;
  end;
end;
Und
Code:
procedure TKundendaten.FormShow(Sender: TObject);
begin
  load_inifile;
  if ExtraForm.CheckBox1.Checked Then Geburtsdatum.Click;
end;
In der ExtraForm habe ich folgendes in die Procedure von der Checkbox stehen:

Code:
procedure TExtraForm.CheckBox1Click(Sender: TObject);
begin
  Kundendaten.save_inifile;
end;
Soweit sogut. Wenn ich die Checkbox aktiviere, bekomme ich folgende Fehlermeldung:
Zugriffsverletzung bei Adresse 00383638. Lesen von Adresse 00383638

Was kann ich da noch machen?
PS: Ich muß bei der Hautpform beim FormShow auf die Geburtstag.Click gehen, da dieser Button einen code zum filtern beinhaltet.
Ich hab auch schon probiert anstelle von FormShow diese Procedure bei onActivate auszuführen, aber da habe ich eine andere fehlermelung. Diese ist mit onShow weg.

Kann mir jemand helfen?
Grüße, m-werk
  Mit Zitat antworten Zitat