Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.18;
Скачать: CL | DM;

Вниз

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.



Страницы: 1 вся ветка

Текущий архив: 2002.03.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-57381
1g0r
2002-03-01 16:11
2002.03.18
TIniFile.RenameSection


1-57453
KvORubin
2002-03-03 09:46
2002.03.18
АРХИВИРОВАНИЕ - ПОМОГИТЕ !!!


3-57284
gegc
2002-02-18 16:38
2002.03.18
А разве в LocalSQL нельзя сделать SELECT * INTO NewTable FROM OldTable ?


7-57538
Svit
2001-12-15 15:21
2002.03.18
Форматирование дискеты


14-57508
Serg001
2002-02-03 16:11
2002.03.18
Клавиатура