Форум: "Базы";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизFormCreate Найти похожие ветки
← →
Gromozeka (2002-02-15 07:13) [0]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, а на форме, то всё в порядке...
В чём, собственно дело-то?
Спасибо...
← →
Quest (2002-02-15 07:33) [1]а ты включил DataModule2 в проект и в Uses Form1?
на что вообще ругается то?
← →
Gromozeka (2002-02-15 08:48) [2]Включил...
Да чёрт его знает, на что...Ошибка по такому-то адресу в екзешнике...
← →
Quest (2002-02-15 09:06) [3]возможно 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;
← →
Hawk2 (2002-02-15 10:04) [4]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;
← →
c2.Stalk3r (2002-02-15 10:18) [5]Просто нужно присвоение имени таблицы и её открытие переместить в событие onCreate Модуля данных:
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
.....
{Здесь присвоение имени таблицы, базы данных и открытие таблицы}
end;
А далее уже как обычно работаешь из формы.
У меня осле этого исчезли все проблемы. :)
← →
Quest (2002-02-15 10:18) [6]>Hawk2
> " Если не использовать with, а записать это в одну строчку DataModule2.DataModule2.Table1.TableName := "tcurrent.dbf"; получается что DataModule2 имеет еще DataModule2, а потом уже Table1. "
ты не прав
← →
Arhelon (2002-02-15 11:10) [7]Насколько я разбираюсь в медецине ...
На момент OnCreate у первой формы, ещё НЕТ второй формы или ДатаМодуля.
И всё.
← →
Alexander Nagumanov (2002-02-15 13:43) [8]Вот именно, поэтому либо убрать DataModule из списка автоматически создаваемых форм и создавать его самому, либо данный код поместить в OnCreate этого DataModul"a, либо данный код надо поместить в процедуру, вызываемую после создания DataModule в коде проекта.
← →
Александр К. (2002-02-15 14:08) [9]В файле проекта поменяй местами строчки
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm1, Form1);
← →
Alexander Nagumanov (2002-02-17 16:29) [10]Не выйдет, если Form1 главная форма проекта.
← →
Black King (2002-02-18 10:05) [11]Togda perenesi etu stroku
Application.CreateForm(TDataModule2, DataModule2);
iz faila projekta v Form1.OnCeate.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c