Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

А оно поддерживает Клиппер?
При том по полной и индексы и блокировки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо