Текущий архив: 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.46 MB
Время: 0.007 c