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

Вниз

Не создается таблица в рантайм   Найти похожие ветки 

 
mamonth ©   (2003-01-05 12:44) [0]

Не получается перейти с существующей таблицы к созданию новой.
Проблема у меня такая: автоматический контроллер проводит измерения, которые надо записывать в файлы по дням, типа один день - один файл с измерениями. Так вот, при переходе на следующий день, я, понятно, создаю новую таблицу, а здесь вылазит ошибка, что такого файла не существует, хотя, я и сам об этом прекрасно знаю и, ради его создания вызываю метод CreateTable.
Что интересно - та же процедура создания таблицы, при условии, что программа только что запущена, работает отлично, а вот при переходе с уже созданного файла на новый глючит.

З.Ы. Такого точно нигде больше нет, неужели никто с таким не сталкивался?!

//Код запускается в
//1 - начале работы программы, если файл не существует
//2 - процессе работы, если происходит смена суток (глюк!)
Table1.Close;
//Директория с базой
Table1.DatabaseName:=ProgDir;
//Название таблицы
Table1.TableName:=getDstFileName;
//Тип таблицы
Table1.TableType:=ttDBase;
if not Table1.Exists then
begin
//Если файл не существует - создаем
{Создать поля}
with Table1.FieldDefs do
begin
Clear;
//Поле даты
Add("Date", ftDate, 0, true);
//Поле времени
Add("Time", ftTime, 0, true);
//Поля данных
for n:=1 to Length(DeviceName) do
begin
with AddFieldDef do
begin
Name := DeviceTableName[n-1];
DataType := ftFloat;
Size:=0;
//Количество знаков после запятой (не работает)
Precision:=2;
Required := False;
end;
end;
//Создать таблицу
Table1.CreateTable;
end;
end;
//Активировать таблицу
Table1.Open;


Наверное лишнего написал, но лучше лишнее, чем непонятно..
Глюк вылазит на Table1.CreateTable;
Мастера, помогите!!!


 
Mike Kouzmine   (2003-01-05 13:24) [1]

А если так
Table1.Close
Table1.free;
Table1 := TTable.Create;


 
Verg ©   (2003-01-05 13:25) [2]


> Table1.DatabaseName:=ProgDir;

По-моему, где-то здесь неверно.
Типа, DataBaseName - это имя базы данных, заданное у компонента TDataBase.DataBaseName, а не путь до каталога c базой данных.

Если уж компонент TDataBase не используешь, то задавай путь до таблицы в TableName, а поле DataBaseName оставляй пустым.


 
Mike Kouzmine   (2003-01-05 13:32) [3]

Table1.DatabaseName может иметь значение как ProgDir (алиас), так и c:\gdetotam


 
Verg ©   (2003-01-05 13:55) [4]


> Table1.DatabaseName может иметь значение как ProgDir (алиас),
> так и c:\gdetotam


Тогда уж c:\gdetotam \



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-72231
Dms
2003-01-14 16:05
2003.01.23
ProgressBar в StatusBar е


1-72240
Ranikin
2003-01-14 16:07
2003.01.23
Выделение в ListView


7-72570
DiHLoS
2002-11-12 16:57
2003.01.23
Как узнать номер BIOS компа?


1-72213
PONTIY
2003-01-14 08:32
2003.01.23
Как различить исключения и правильно их обработать?


6-72454
MAXL
2002-11-24 15:33
2003.01.23
Как зная IP компа в локалке вывести на его экран сообщение .