Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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);
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;
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.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.052 c
6-57476           Egor111               2002-01-03 21:29  2002.03.18  
Socket


3-57282           af                    2002-02-18 15:49  2002.03.18  
Вопрос по фильтрации , использую RXfilter из библиотеки RX


7-57541           Run                   2001-12-15 11:43  2002.03.18  
Работа с реестром


1-57384           Тот самый Пацан       2002-02-28 23:57  2002.03.18  
Как вывести на обратный план Memo, a на передний - Image...


1-57443           Nuce                  2002-03-04 01:50  2002.03.18  
PaintBox?