Файл не найден "Form2.dcu" - PullRequest
0 голосов
/ 15 ноября 2018

Я не могу решить эту проблему, кто-нибудь может помочь?

Код блока 1:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Form2; //error here

type
  TForm1 = class(TForm)

и вот блок 2

unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    CESTITAMO: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Rezultat11: TLabel;
    REZULTAT21: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.

да Я создал Form2, сделал подпись "Cestitke!"и сохранил имя как Form2

И я хотел бы знать, как это исправить в будущем, спасибо

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

Я думаю, вы неправильно поняли ошибку.

Ваше использование

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Form2; //error here

, но для доступа к Form2 вам необходимо включить в этот список , а не имя формы, а вместо этого имя единицы, в которой она объявлена, т.е. Unit2.

Итак, ваш список использований должен выглядеть так:

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

Но обычно в такой ситуации достаточно включить Unit2 в список Uses в разделе реализации Unit1.

0 голосов
/ 16 ноября 2018

Удалить ", Form2" из использует и добавить "использует Unit2;"в разделе реализации.Это рабочий пример:

unit Unit1;

interface

{uses //Delphi 10.2
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;}

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}

uses Unit2;

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

end.
0 голосов
/ 15 ноября 2018

Нет единицы измерения Form2.pas. Замените Form2 на Unit2 в вашем предложении использования.

...