delphi-7中的访问冲突

delphi-7中的访问冲突,delphi,delphi-7,access-violation,Delphi,Delphi 7,Access Violation,好的,我正在写一个使用不同形式的教育计划。这是我第一次使用多表单编码,因为我还是一个新手程序员 单击我的“登录”按钮时,会打开新表单,但随后会显示访问冲突代码 unit SignInNew_u; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, xpman; type TSignInNew

好的,我正在写一个使用不同形式的教育计划。这是我第一次使用多表单编码,因为我还是一个新手程序员

单击我的“登录”按钮时,会打开新表单,但随后会显示访问冲突代码

    unit SignInNew_u;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, xpman;

type
TSignInNew = class(TForm)
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label1: TLabel;
Label4: TLabel;
edtName: TEdit;
edtSurname: TEdit;
btnSignIn: TButton;
help: TButton;
procedure btnSignInClick(Sender: TObject);
procedure helpClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
  SignInNew: TSignInNew;
implementation

uses HelpNew_u, ElementsNew;

{$R *.dfm}

 procedure TSignInNew.btnSignInClick(Sender: TObject);
 var
 sName,sSurname,text:string;
 User:TextFile;
 begin

ElementsNew.TMain.Create(self);
ElementsNew.Main.Show;
Main.WindowState:= wsMaximized;

end;
procedure TSignInNew.helpClick(Sender: TObject);
begin
HelpNew := THelpNew.Create(self);
HelpNew.Show;
HelpNew.Width:=281;
HelpNew.Height:=481;
end;

end.


任何帮助都将不胜感激。

查看您的代码,您正在实例化一个类(TMain)

但决不将其指定给变量。您正在使用一个nil变量(Main)

要解决这个问题:

Main := ElementsNew.TMain.Create(self);
Main.Show;

请出示一张照片,这样我们就不用猜了。请不要删除问题并询问新问题。编辑问题以改进它们。按你的方式做,你就会失去评论。你只需要放慢速度,学会正确地做这件事。按照我评论中的链接,一切都会好起来well@DavidHeffernan
ElementsNew.TMain
HelpNew
是我使用的表单的名称。我对
HelpNew
没有同样的问题。一开始我确实很挣扎,也有访问冲突,但通过简单的
HelpNew:=THelpNew.Create(self)修复了它。是的,但我们无法看到所有代码。我猜的和阿古斯丁一样,我相信所有的回答者都猜到了。但我们不能确定。我们可以肯定的是,这些公共全局变量是一场噩梦。IDE欺骗了你。删除这些全局变量。你不需要它们,但你不想这么做。你不想这样使用全局变量。是的,我同意,但我只是说如何解决这个问题
ElementsNew.Main.Show;
Main.WindowState:= wsMaximized;
Main := ElementsNew.TMain.Create(self);
Main.Show;