![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi+Halcyon+NTX=? [D6]
SKing © (2003-11-22 11:50:00)
Мастера помогите! Как писать в таблицу DBF с которой работают
пользователи из Clipperприложений, так что бы не рушились индексы NTX. С помощьб библиотеки Halcyon индексы рушаться, может быть не правильно что то делаю?
tchn (2003-12-11 15:27:00) [1]
да! достаточно просто подключить индексы. ничего не рушится
DrAdmin (2003-12-11 09:42:00) [2]
Мастера !
А у кого можно разжиться Appolo или Halcyon ?
нужно не триал, а нормальная версия, желательно
под Delphi 6 или С++ Builder 3,4,5,6...
Спасибо.
SKing (2003-11-24 16:32:00) [3]
Пробовал удалить, не удаляет...
Oleg_em (2003-11-24 14:23:00) [4]
to SKing а в документации то есть пример открытия баз с индексами ?
с Halcyon-ом не работал, использовал Apollo
также совместно с clipper прогами
там открытие индексов делал так:
with ApolloTable do
begin
Tablename := "c:\basa";
Open;
IndexOpen("c:\basa.ntx");
IndexOpen("c:\basa.nt1");
end;
есс-но были проверки на состояние таблицы (открыта/закрыта)
и на наличие файлов индексов, в случае отсутствия - создавал
if not FileExists(TableName+".ntx") then
Index(TableName,"DATE",0,False,"");
я думаю тебе стоит проверить, точно ли твоя программа открывает индексы !
например попробовать удалить индексный файл, в то время когда запущена ТОЛЬКО твоя прога.
SKing (2003-11-24 13:11:00) [5]
Мастера куда вы делись? Может кто нибудь подсказать как писать в DBF с поддержкой NTX индексов?
SKing (2003-11-24 08:36:00) [6]
Доброе утро.
Перед открытием таблицы пишу в IndexFiles все индексные файлы,
потом делаю IndexDefs.Update. Вот и все, может быть нада делать что то еще?
sniknik (2003-11-22 13:36:00) [7]
неприятность была, но только одна, именно с той функцией которая неправильно в индексе отрабатывала (точно не помню, давно делал, смысл, она там строку обрезала на определенную длинну так в одном варианте если строку дать меньше она оставалась как есть а в другом добавлялись пробелы).
сначала думал глюк, ну исправил и исправил, а после программист который на клипере у нас пишет то же самое словил на переходе с версии на версию (зачем менял не знаю), но индексы со старой не работали изза этого (мне после пришлось переключатель вставлять старая/новая программа).
Anatoly Podgoretsky (2003-11-22 13:23:00) [8]
Значит ты можешь подтвердить, что индексы поддержаны полностью, по крайней мере неприятностей не обнаружил.
Тогда это означает, что у него ошибка в программе.
sniknik (2003-11-22 13:12:00) [9]
Anatoly Podgoretsky © (22.11.03 11:55) [1]
> При том по полной и индексы и блокировки.
индексы полностью, а блокировки не уверен (потому как не пробовал паралельную работу с клиперной программой, но раз пишут то должно, в остальном то не обманывали :)
просто у меня ситуация специфичестая, клиперная прога работает с таблицами монопольно(!), когда нужно она выставляет флаг отключается от базы (обменной) и вот тут то работает моя программа.
почему сделано именно так? просто для другого решения слишком много переделывать (уже написана замена вместо переделки), но ведь и старых клиентов нужно поддерживать. а обновление и полная замена индексов у меня в программе (на сервере под виндами) занимает 11-15сек. в клипере (лок. машина DOS) занимает 20-25мин. как вы думаете что выбирали клиенты? ;о)) (копирование базы почти не в счет ~2сек.)
sniknik (2003-11-22 12:58:00) [10]
> может быть не правильно что то делаю?
наверняка чтото неправильно, работаю с Halcyon исключительно изза того что есть поддержка Clipper/NTX, делаю индексы которые после Clipper-ное прилежение использует. ну и есть исходники можно дописывать свои функции /исправлять существующие,в клипере ведь можно сделать свою функцию и делать индекс включающий ее, без возможности изменения Halcyon был бы бессмысленным.
встречалась стандартная функция которая включенная в индекс давала в разных версиях клипера разные индексы. (!!!)
а чего говорить тогда о стороннем средстве.
> помощьб библиотеки Halcyon индексы рушаться
может ты их просто не подключаеш перед изменениями в таблицах? тогда они точно порушатся.
(но тут нужно аккуратнее, много индексов тормозят изменения, иногда (данных не изменение много) проще оставить 1 главный индекс или вообще убрать после добавить и переиндексировать все (быстрее))
SKing (2003-11-22 12:29:00) [11]
Да, Вы знаете, я то же это заметил.
Anatoly Podgoretsky (2003-11-22 12:10:00) [12]
А судя по результатам нет.
SKing (2003-11-22 11:59:00) [13]
Судя по документации - да.
Может быть подскажите еще какие либо средства.
Anatoly Podgoretsky (2003-11-22 11:55:00) [14]
А оно поддерживает Клиппер?
При том по полной и индексы и блокировки.