Hallo,
im folgenden ein einfacher und kurzer Code, der bei mir sowohl unter D6 als auch unter D7 eine
Access Violation produziert, wenn man den KillButton drückt:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TForm1 =
class(TForm)
KillButton: TButton;
MainMenu1: TMainMenu;
Menu: TMenuItem;
SubMenu: TMenuItem;
procedure KillButtonClick(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KillButtonClick(Sender: TObject);
begin
SubMenu.Visible:=false;
close;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
SubMenu.Visible:=true;
end;
end.
Ich mache doch nichts böses, oder?!?
Warum dann die
Access Violation in der Delphi-
Unit Menus in TMenu.SetWindowHandle???
Es müssen übrigens zwei MenuItems sein, mit einem allein tritt der Fehler nicht auf. Sie müssen nicht geschachtelt sein, aber Menu muss vor Submenu kommen.