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

Вниз

Delphi+Halcyon+NTX=?   Найти похожие ветки 

 
SKing ©   (2003-11-22 11:50) [0]

Мастера помогите! Как писать в таблицу DBF с которой работают
пользователи из Clipper приложений, так что бы не рушились индексы NTX. С помощьб библиотеки Halcyon индексы рушаться, может быть не правильно что то делаю?


 
Anatoly Podgoretsky ©   (2003-11-22 11:55) [1]

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


 
SKing ©   (2003-11-22 11:59) [2]

Судя по документации - да.
Может быть подскажите еще какие либо средства.


 
Anatoly Podgoretsky ©   (2003-11-22 12:10) [3]

А судя по результатам нет.


 
SKing ©   (2003-11-22 12:29) [4]

Да, Вы знаете, я то же это заметил.


 
sniknik ©   (2003-11-22 12:58) [5]

> может быть не правильно что то делаю?
наверняка чтото неправильно, работаю с Halcyon исключительно изза того что есть поддержка Clipper/NTX, делаю индексы которые после Clipper-ное прилежение использует. ну и есть исходники можно дописывать свои функции /исправлять существующие,в клипере ведь можно сделать свою функцию и делать индекс включающий ее, без возможности изменения Halcyon был бы бессмысленным.

встречалась стандартная функция которая включенная в индекс давала в разных версиях клипера разные индексы. (!!!)
а чего говорить тогда о стороннем средстве.

> помощьб библиотеки Halcyon индексы рушаться
может ты их просто не подключаеш перед изменениями в таблицах? тогда они точно порушатся.
(но тут нужно аккуратнее, много индексов тормозят изменения, иногда (данных не изменение много) проще оставить 1 главный индекс или вообще убрать после добавить и переиндексировать все (быстрее))


 
sniknik ©   (2003-11-22 13:12) [6]

Anatoly Podgoretsky © (22.11.03 11:55) [1]
> При том по полной и индексы и блокировки.
индексы полностью, а блокировки не уверен (потому как не пробовал паралельную работу с клиперной программой, но раз пишут то должно, в остальном то не обманывали :)

просто у меня ситуация специфичестая, клиперная прога работает с таблицами монопольно(!), когда нужно она выставляет флаг отключается от базы (обменной) и вот тут то работает моя программа.
почему сделано именно так? просто для другого решения слишком много переделывать (уже написана замена вместо переделки), но ведь и старых клиентов нужно поддерживать. а обновление и полная замена индексов у меня в программе (на сервере под виндами) занимает 11-15сек. в клипере (лок. машина DOS) занимает 20-25мин. как вы думаете что выбирали клиенты? ;о)) (копирование базы почти не в счет ~2сек.)


 
Anatoly Podgoretsky ©   (2003-11-22 13:23) [7]

Значит ты можешь подтвердить, что индексы поддержаны полностью, по крайней мере неприятностей не обнаружил.
Тогда это означает, что у него ошибка в программе.


 
sniknik ©   (2003-11-22 13:36) [8]

неприятность была, но только одна, именно с той функцией которая неправильно в индексе отрабатывала (точно не помню, давно делал, смысл, она там строку обрезала на определенную длинну так в одном варианте если строку дать меньше она оставалась как есть а в другом добавлялись пробелы).
сначала думал глюк, ну исправил и исправил, а после программист который на клипере у нас пишет то же самое словил на переходе с версии на версию (зачем менял не знаю), но индексы со старой не работали изза этого (мне после пришлось переключатель вставлять старая/новая программа).


 
SKing ©   (2003-11-24 08:36) [9]

Доброе утро.
Перед открытием таблицы пишу в IndexFiles все индексные файлы,
потом делаю IndexDefs.Update. Вот и все, может быть нада делать что то еще?


 
SKing ©   (2003-11-24 13:11) [10]

Мастера куда вы делись? Может кто нибудь подсказать как писать в DBF с поддержкой NTX индексов?


 
Oleg_em   (2003-11-24 14:23) [11]

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 16:32) [12]

Пробовал удалить, не удаляет...


 
DrAdmin   (2003-12-11 09:42) [13]

Мастера !
А у кого можно разжиться Appolo или Halcyon ?
нужно не триал, а нормальная версия, желательно
под Delphi 6 или С++ Builder 3,4,5,6...

Спасибо.


 
tchn ©   (2003-12-11 15:27) [14]

да! достаточно просто подключить индексы. ничего не рушится



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
1-25327
Ega23
2003-12-22 15:43
2004.01.09
Как в message указатель засунуть?


14-25534
Onyx
2003-12-19 11:04
2004.01.09
Win2k


1-25406
Иваныч
2003-12-24 09:54
2004.01.09
Вызов процедуры!!!


1-25434
Silver_
2003-12-23 17:35
2004.01.09
Почему Field.OnChange вызывается 2 раза подряд


1-25280
Bishop
2003-12-23 15:36
2004.01.09
Ini - перевод строки