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?