4. Undeclared identifier: 'Form2'

Pôvodný zdrojový kód

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

 

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

{

[Error] Unit1.pas(29): Undeclared identifier: 'Form2'
--------------------------------------------------------------------------------

Prekladač nepozná identifikátor Form2.

PREČO?

Premenná Form2 je deklarovaná v inom unite (v našom prípade ide o unit info).

RIEŠENIE

Prekladač programátora upozorní, že chce použiť premennú s iného unitu, ktorý
zabudol uviesť v časti uses.

Na otázku

Form 'Form1' references form 'Form2' declared in unit 'info' which is not in
your USES list? Do you wish to add it?

(Vo formulári Form1 sa odvolávate na formulár Form2 deklarovaný v unite info,
ktorý ste neuviedli v zozname USES, chcete ho tam pridať?)

stačí odpovedať kliknutím na OK.

Alebo meno unitu dopísať v časti USES ručne.

Upravený zdrojový kód

--------------------------------------------------------------------------------
}
end.

Stiahnuť vzorový príklad (zdrojové kódy v Delphi)