Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > главная форма не видит форму редактирования БД


Автор: malayka 9.12.2009, 01:10
в главном меню главной формы есть пункт "добавить запись", по нажатию которой добавляется новая запись в таблицу главной формы и должна  открываться форма редактирования

procedure TForm1.N5Click(Sender: TObject);
begin
DataModule1.BookTable.Insert;
EditRecordForm.ShowModal;
end;

однако, при запуске программа выдает ошибку выделяя строку "EditRecordForm.ShowModal;" и пишет Undeclared Identifier 'EditRecordForm' smile  помогите разобраться в ситуации и исправить это плз!



p.s.:ошибка в правописании исключена, форма редактирования так и называется "EditRecordForm"

Автор: Keeper89 9.12.2009, 01:23
malayka, надо подключить модуль (добавить в uses), где объявлена эта форма.

Автор: malayka 9.12.2009, 01:31
это уже есть вроде: uses EditFormUnit
в чем еще может быть дело?

Автор: Keeper89 9.12.2009, 01:38
Поместите здесь код модуля.

Автор: malayka 9.12.2009, 01:47
Код

unit kursavik;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, Menus, StdCtrls;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses DataModuleUnit, TownBookUnit, EditFormUnit;

{$R *.dfm}

procedure TForm1.N4Click(Sender: TObject);
begin
TownBookForm.ShowModal;
end;

procedure TForm1.N5Click(Sender: TObject);
begin
DataModule1.BookTable.Insert;
EditRecordForm.ShowModal;
end;

procedure TForm1.N7Click(Sender: TObject);
begin
DataModule1.BookTable.Delete;
EditRecordForm.ShowModal;
end;

end.


это главная форма

Добавлено через 9 минут и 1 секунду
Код

unit EditFormUnit;

interface

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

type
  TForm2 = class(TForm)
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses DataModuleUnit;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
if DataModule1.BookTable.Modified then
DataModule1.BookTable.Post;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
DataModule1.BookTable.Cancel;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin

end;

end.


а это собственна форма редактирования из-за которой ошибки

Автор: Keeper89 9.12.2009, 01:59
Ну так во втором коде она называется Form2, а не EditRecordForm.
Либо замените Form2 во втором коде на EditRecordForm, либо наоборот в первом.

Автор: malayka 9.12.2009, 02:04
о_О спасиб большое и правда!)) smile  
я просто новичек еще мягко говоря, не ругайте особо)

Автор: Keeper89 9.12.2009, 12:37
malayka, никто и не "ругал", удачи ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)