Einzelnen Beitrag anzeigen

r3v0

Registriert seit: 26. Mär 2007
Ort: Wegberg
45 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Zugriffsverletzung beim Programm beenden

  Alt 7. Aug 2007, 13:02
Japs die AV trat beim beenden des Programmes auf.
Der Button wurde aber am Anfang nicht richtig angezeigt.
Aber ich habe jetzt 2 Lösungen des Problems.

die erste wurde sehr schön von onlinekater vorgegeben.

Anstatt Show();
ein visible:= True;
machen.

Die 2te Lösung ist es in dem Projekt Code die Formen vor der Hauptform zu erzeugen
Delphi-Quellcode:
  Application.Initialize;
  frmMemo:= TfrmMemo.Create(nil); // <-- Lösung 2
  frmTabSheet:= TfrmTabSheet.Create(nil); // <-- Lösung 2
  Application.CreateForm(TfrmMain, frmMain);
  //Application.CreateForm(TfrmMemo, frmMemo); //<-- Lösung 1 (normal)
  //Application.CreateForm(TfrmTabSheet, frmTabSheet); //<-- Lösung 1 (normal)
  Application.Run;
Dann muss noch noch ein kurzes refresh in der Main form eingefügt werden
Delphi-Quellcode:
procedure TfrmMain.FormActivate(Sender: TObject);
begin
  frmMemo.Show();
  frmMemo.Parent:= pnlMemoCon;
  frmMemo.BorderStyle:= bsNone;
  frmMemo.BorderIcons:= [];
  frmMemo.Align:= alClient;
  //frmMemo.Visible := True; <-- Lösung 1

  frmTabSheet.Show();
  frmTabSheet.Parent:= pnlTabSheets;
  frmTabSheet.BorderStyle:= bsNone;
  frmTabSheet.BorderIcons:= [];
  frmTabSheet.Align:= alClient;
 // frmTabSheet.Visible := True; <-- Lösung 1
  refresh; //<-- Lösung 2
end;
Und dann klappert es... ohne AV falschen Button oder sonstigen Problemen!
Blub ich bin die Sig.
  Mit Zitat antworten Zitat