Страница 1 из 2

Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 27 ноя 2004, 15:11
Twins
Help me.
Глупость но факт.
В Delphi 7 не могу открыть форму2 из формы1

Создаю Form1
Создаю Button1 в Form1
Компилирую
Создаю Form2

Вешаю на Button1 в Form1
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.ShowModal;
end;

Компилирую
Пишет
(Ошибка) Unit.pas(35): Undeclared identifier: "form2"
(Фатальная ошибка) Proect1.dpr6: Cold not compile used unit 'Unit1.pas'

Дальше - мрак. Тишина

Заранее спасибо за помощь.
Чайник (надеюсь не на долго)

Добавлено: 27 ноя 2004, 17:22
AiK
Twins, во-первых, ошибка из-за того, что в первом модуле переменная form2 не объявлена.
Во-вторых, прежде чем показывать форму, её создать нужно.

Т.е. тебе нужно что-то вроде этого:
В первом модуле:
Uses Unit2.pas;

procedure TForm1.Button1Click(Sender: TObject);
var form2: TForm2;
begin
form2:=TForm2.Create(Form1);
form2.ShowModal;
end;

Добавлено: 27 ноя 2004, 22:22
Twins
AiK

Большое человеческое спасибо.
Хватило
В первом модуле:
Uses Unit2;

Еще Чайник, но уже меньше.
Twins

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 09:36
Лопата:)
AiK писал(а):Twins,
procedure TForm1.Button1Click(Sender: TObject);
вот на этой строчке он меня и мучает:
[Error] Unit1.pas(36): Statement expected but 'PROCEDURE' found
что делать??

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 10:56
somewhere
что делать??
Скорее всего процедура не описана в классе TForm1

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 11:05
Лопата:)
А можно подробнее написать, как это сделать, а то я совсем не понимаю :)

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 11:08
somewhere
В описателе класса добавить
procedure Button1Click(Sender: TObject);

кнопке Button1 событию OnClick присвоить обработчик Button1Click

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 11:25
Лопата:)
type
TForm1 = class(TForm)
Button1Click(Sender: TObject);
теперь он просит заменить ( на :

заменила
теперь опять докопался до процедуры
[Error] Unit1.pas(50): Statement expected but 'PROCEDURE' found

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 11:40
somewhere
Дальше ничего не могу сказать - нет полного кода

Re: Delphi 7. Не могу открыть Форму2 из Формы 1

Добавлено: 17 дек 2013, 14:45
Лопата:)
unit Unit1;

interface

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

type
TForm1 = class(TForm)
lbl1: TLabel;
edt1: TEdit;
procedure button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm;
Form2: TForm;
Edit1: TEdit;
implementation
{$R *.dfm}
begin
procedure button1Click(Sender: TObject);
begin
form2.Show;
end;

end.