Einzelnen Beitrag anzeigen

Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#10

AW: Objekte in verschiedenen Formularen zentral initialisieren

  Alt 12. Jan 2025, 14:26
Ich habe berücksichtigt, dass die Formulare erst erstellt werden müssen.
Dazu habe ich im frmMain.Activate die Formulare erst created, dann einem Tab des OfficePagers von TMS zugewiesen und danach erst das Show und LoadKunden mit dem InitFormControls ausgeführt.
Bei Ausführung von LoadKunden bzw. InitFormControls(frmKunden As TForm) tritt dann die Exception:
"Zugriffsverletzung an Adresse xxxx in Modul 'Programm.exe' (Offset(xxx)). Lesen von Adresse 00000010."
Code:
procedure TfrmMain.FormActivate(Sender: TObject);
var
  frmTabKunden: TfrmKunden;
  frmTabInteressent: TfrmInteressent;
  frmTabPartner: TfrmPartner;
  frmTabAngestellte: TfrmAngestellte;
  frmTabKassen: TfrmKassen;
  PagerHeight: Integer;
begin
  // --------------------------------------------
  // Größe und Positionierung des Hauptformulars
  PagerHeight := 540; // Höhe des inneren Tabs bis vor das Grid

  frmMain.Top := 20; // Main Formular Position Top und Left
  frmMain.Left := 20;

  frmMain.Height := 1000; // Größe des Main Formulars
  frmMain.Width := 1830;
  // --------------------------------------------

  OfficePager.Height := PagerHeight;

  // --------------------------------------------
  // Formulare in das OfficePager Element einbinden

  // --------------------------------------------
  // TabKunden
  frmTabKunden := TfrmKunden.Create(TabKunden);
  frmTabKunden.Parent := TabKunden;
  frmTabKunden.Align := alClient;
  frmTabKunden.BorderStyle := bsNone;
  frmTabKunden.Show;
  LoadKunden;
  // --------------------------------------------
.
.
.
  OfficePager.ActivePage := TabKunden;
end;

 
procedure TfrmMain.LoadKunden;
var
  s:string;
  i, sp: Integer;
begin
  s:='-----------Kunden----------';
  DebugOut(s);

  InitFormControls(frmKunden); // Hier tritt das Problem auf
  frmKunden.InitFormKunden;
.
.
.
end;
  Mit Zitat antworten Zitat