![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FormCreate [D5, dBase, FoxPro]
Gromozeka © (2002-02-15 07:13:00)procedure TForm1.FormCreate(Sender: TObject);
begin
with DataModule2 do
begin
Table1.DataBaseName := "sattv";
DataModule2.Table1.TableName := "tcurrent.dbf";
Table1.Open;
Table1.Filter := "se >= -120";
Table1.Filtered := true;
end;
end;
Выдает ошибку...Если размещаю компоненты Table1 и DataSource1 не в DataModule2, а на форме, то всё в порядке...
В чём, собственно дело-то?
Спасибо...
Black King (2002-02-18 10:05:00) [1]Togda perenesi etu stroku
Application.CreateForm(TDataModule2, DataModule2);
iz faila projekta v Form1.OnCeate.
Alexander Nagumanov (2002-02-17 16:29:00) [2]Не выйдет, если Form1 главная форма проекта.
Александр К. (2002-02-15 14:08:00) [3]В файле проекта поменяй местами строчки
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm1, Form1);
Alexander Nagumanov (2002-02-15 13:43:00) [4]Вот именно, поэтому либо убрать DataModule из списка автоматически создаваемых форм и создавать его самому, либо данный код поместить в OnCreate этого DataModul"a, либо данный код надо поместить в процедуру, вызываемую после создания DataModule в коде проекта.
Arhelon (2002-02-15 11:10:00) [5]Насколько я разбираюсь в медецине ...
На момент OnCreate у первой формы, ещё НЕТ второй формы или ДатаМодуля.
И всё.
c2.Stalk3r (2002-02-15 10:18:00) [6]Просто нужно присвоение имени таблицы и её открытие переместить в событие onCreate Модуля данных:
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
.....
{Здесь присвоение имени таблицы, базы данных и открытие таблицы}
end;
А далее уже как обычно работаешь из формы.
У меня осле этого исчезли все проблемы. :)
Quest (2002-02-15 10:18:00) [7]>Hawk2
> " Если не использовать with, а записать это в одну строчку DataModule2.DataModule2.Table1.TableName := "tcurrent.dbf"; получается что DataModule2 имеет еще DataModule2, а потом уже Table1. "
ты не прав
Hawk2 (2002-02-15 10:04:00) [8]To Gromozeka:
А что это за странная запись и для чего так писать:
procedure TForm1.FormCreate(Sender: TObject);
begin
with DataModule2 do //Работаем с DataModule2
begin
Table1.DataBaseName := "sattv";
//А зачем опять DataModule2
DataModule2.Table1.TableName := "tcurrent.dbf";
Table1.Open;
Table1.Filter := "se >= -120";
Table1.Filtered := true;
end;
end;
Если не использовать with, а записать это в одну строчку DataModule2.DataModule2.Table1.TableName := "tcurrent.dbf"; получается что DataModule2 имеет еще DataModule2, а потом уже Table1. Попробуй так:
procedure TForm1.FormCreate(Sender: TObject);
begin
with DataModule2 do //Работаем с DataModule2
begin
Table1.DataBaseName := "sattv";
Table1.TableName := "tcurrent.dbf";
Table1.Open;
Table1.Filter := "se >= -120";
Table1.Filtered := true;
end;
end;
Quest (2002-02-15 09:06:00) [9]возможно DataModule2 ещё не создан в момент FormCreate,
попробуй вызвать это так:
procedure TForm1.FormActivate(Sender: TObject);End;
Begin
with DataModule2 do
IF Table1.active = false then
begin
Table1.DataBaseName := "sattv";
DataModule2.Table1.TableName := "tcurrent.dbf";
Table1.Open;
Table1.Filter := "se >= -120";
Table1.Filtered := true;
end;
Gromozeka (2002-02-15 08:48:00) [10]Включил...
Да чёрт его знает, на что...Ошибка по такому-то адресу в екзешнике...
Quest (2002-02-15 07:33:00) [11]а ты включил DataModule2 в проект и в Uses Form1?
на что вообще ругается то?