Einzelnen Beitrag anzeigen

Benutzerbild von KalZakath
KalZakath

Registriert seit: 22. Feb 2006
Ort: Nordhorn
3 Beiträge
 
Turbo Delphi für Win32
 
#1

EAccessViolation Zugriffsverletzung

  Alt 3. Nov 2009, 23:34
Wenn ich von meinem Hauptfenster ein anderes Fenster mit "ShowModal" öffne und es anschließend wieder schließe, bekomme ich nur beim 1. mal eine Zugriffsverletzung :

Zitat:
Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.
Rufe ich gleich danach das Fenster noch einmal auf und schließe es wieder ist alles in Ordnung. Die Funktionalität bleibt erhalten.

Delphi-Quellcode:
// *****************************************************************************
// Menüaktion ausführen
// *****************************************************************************

procedure TFAppMain.DoAction(Sender: TObject);
var
  NewForm: TForm;
  sName: String;
begin
  If not (Sender is TAction) Then exit;

  sName := (Sender as TAction).Name;
  Delete(sName, 1, 2);

  If AppBenutzerId = -99 Then {=Administrator}
  begin
    MyRechte.Show := True;
    MyRechte.Edit := True;
    MyRechte.Insert := True;
    MyRechte.Delete := True;
  end else
    MyRechte := GetRechte(CoMain,AppGruppeId,(Sender as TAction).Category,sName);

  sName := 'TF' + sName;
  try
    NewForm := CreateComponentByClassName(sName,Self) as TForm;
    NewForm.ShowModal;
  finally
    FreeAndNil(NewForm);
  end;
end;
Delphi-Quellcode:
// *****************************************************************************
// Formular erstellen: Afgerufen wird in "DoAction"
// *****************************************************************************

function TFAppMain.CreateComponentByClassName(const Formular: String;
   AOwner: TComponent): TComponent;
begin
   Result := TComponentClass(FindClass(Formular)).Create(AOwner);
end;
Ich bekomme die Fehlermeldung nach der Beendigung der Prozedur "DoAction", wenn also das Hauptfenster erscheinen soll.

Ich habe Except.log eingebunden. Nur leider bringt mich die Log-Datei auch nicht weiter.

Zitat:
--------------------------------------------------------
New exception:
Exception code: 3221225477
Exception flags: 2
Number of parameters: 2
(no debug info) Find error: 00000000
call stack - 0 : Routine @Actnmenus@TCustomActionMainMenuBar@TrackMenu Find error: 005D94E5
call stack - 1 : Routine @Actnmenus@TCustomActionMenuBar@CMItemClicked Find error: 005D4A5F
call stack - 2 : Routine @Controls@TWinControl@WndProc Find error: 00466162
call stack - 3 : Routine @Actnmenus@TCustomActionMenuBar@WndProc Find error: 005D6295
call stack - 4 : Routine @Classes@StdWndProc Find error: 0042CFE6
call stack - 5 : (no debug info) Find error: 7E368730
call stack - 6 : (no debug info) Find error: 7E368812
call stack - 7 : (no debug info) Find error: 7E3689C9
call stack - 8 : (no debug info) Find error: 7E3696C3
call stack - 9 : Routine @Forms@TApplication@ProcessMessage Find error: 0047F23D
Hat jemand eine Idee?
  Mit Zitat antworten Zitat