Zrobiłem program,gdzie po wpisaniu "adam" do MaskEdit1 i kliknięciu na "wejdź" otwierała się nowa forma z speedbuttonem o zdarzeniu "Close;".Do zamknięcia Form1(tej z maskeditem) użyłem OnDestroy:Form1.Destroy.No więc kiedy kliknę "wejdź"(mając wpisane hasło),znika mi Form1 i pokazuje Form2(do tego użyłem Form2.Show(lub i modal)) z tym speedbuttonem kiedy kliknę na niego to mi wyskoczy: Project haselko.exe raised exception class EAccessViolation of adress 00000013.Read of adress FFFFFFFF.itp... .Co mam zrobić?Proszę o szybką odpowiedź.Z góry dzięki!
FilD :-( <email> [email protected]</email>
My source:
unit starts;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, StdCtrls, Mask;
type
TForm1 = class(TForm)
Image1: TImage;
bitBtn1: TSpeedButton;
SpeedButton2: TSpeedButton;
MaskEdit1: TMaskEdit;
StaticText1: TStaticText;
procedure SpeedButton2Click(Sender: TObject);
procedure bitBtn1Click(Sender: TObject);
procedure MaskEdit1Change(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses force2;
{$R *.dfm}
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.bitBtn1Click(Sender: TObject);
begin
Form1.Destroy;
end;
procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
If Maskedit1.text= 'macintosh' then bitBtn1.enabled:=true;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Form2.ShowModal;
end;
end.
oraz form2:
unit force2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm2 = class(TForm)
SpeedButton1: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
Form2.Close;
end;
end.
.Pomórzcie!!!