On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 1
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 21.02.09 19:08. Заголовок: Clipper 5.3 не хочет работать с DBFCDX.


Народ, помогите утопающему!
Раньше писал на Clipper Summer 87.
Нужно на Clipper 5.3 создать индексный файл CDX, но не могу даже собрать exe-шник.
В начале программы вставил:
REQUEST DBFCDX
rddSetDefault( "DBFCDX" )
Линкую как в примере:
BLINKER FILE $(objs) OUTPUT $@ lib dbfcdx.lib

При сборке выдает ошибку :
BLINKER : 1115 : DBFCDX.LIB(CL53INIT) : '_DBFCDX' : unresolved external

Заменил BLINKER.
Стал пробовать собирать BLINKERом 6.0
то же самое.

Что интересно, если вместо DBFCDX подключать к примеру DBFNDX, т.е.
в программе
REQUEST DBFNDX
rddSetDefault( "DBFNDX" )
а затем
BLINKER FILE $(objs) OUTPUT $@ lib dbfndx.lib
то всё нормально линкуется и работает


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 32 , стр: 1 2 All [только новые]





Пост N: 20
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 23.02.09 13:03. Заголовок: У меня такая-же проб..


У меня такая-же проблемма .....
Я в линковщике пишу обе библиотеки : BLINKER.EXE .... LIB _DBFCDX.LIB , DBFCDX.LIB
Вроде уже три года пашет ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 793
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.02.09 19:52. Заголовок: Вот мой рабочий файл..


Вот мой рабочий файл сборки для CDX (10 лет работает):

# Скрипт-файл начана сценария компоновки BLINKER 3.2 - 6.0 - для ЗАЩИЩЕНОГО РЕЖИМА ПАМЯТИ (Extended Memory)
BLINKER EXECUTABLE CLIPPER F:250;SWAPK:8192;SWAPPATH:С:\TEMP
BLINKER EXECUTABLE NODELETE
BLINKER PROCEDURE DEPTH 60
BLINKER EXECUTABLE EXTENDED # Switch blinker to protected mode
BLINKER INCREMENTAL OFF # Switch incremental off if needed
BLINKER EXECUTABLE COMPRESS 1
BLINKER MESSAGE WINK LEFT
NOBELL

FILE mainto
# ====== вызов листинга OBJ-файлов ==========
@Zviewplt.lst

//FILE ctintp, ctusp
//FILE CLD.LIB
SEARCH BLXRATEX.LIB
LIB _DBFCDX, DBFCDX
SEARCH BLXCLP53
LIB Ctp53
@C53BLMAX
## End of LNK



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 25.02.09 06:48. Заголовок: Спасибо ответившим!


Сделал по варианту Softlog86 и всё прошло нормально.
Линковка пошла и CDX заработали как надо.
Зверски обрадовался, но рано...

Поясню, для чего мне понадобились CDX.
У меня в одной системе на одних и тех же файлах одновременно работают
Clipper 87 и VFP 6. На уровне dbf-файлов никаких проблем нет, но вот
понадобилось использовать общие индексы. Хочу попробовать использовать
DBFCDX или DBFSIX как получится.

В общем казалось бы всё получилось.
Clipper 5.3 и VFP 6 заработали на одних и тех же DBF и CDX, причём в обе стороны. Они поняли друг друга! CDX-индексы, созданные Clipper-ом, VFP 6.0 прекрасно понимает и наоборот. Дописывал в конец файла - всё OK!
Протестировал это дело на одном файле - всё нормально, но как только попытался работать с более-менее реальной задачей - облом.
Простая программа, которая в цикле создаёт CDX для нескольких десятков файлов непредсказуемо вылетает в разных местах с различными сообщениями об ошибках или попросту зависает. Затыкается в разных местах, на 10-м файле, на 3, 15, 47 и т.д. Никакой системы.
В общем, номер с CDX не прошёл :((( , а жаль.

Но есть ещё надежда на SIX, может быть получится через файлы IDX на Clipper 5.2
Только никак не могу найти SIX 3.2, ссылка на сайте вашего форума есть, но не работает.
Поэтому у меня большая просьба.
Если есть возможность, скиньте пожалуйста SIX 3.2 на мой емейл:
achik<собака>inbox.ru
Заранее благодарен.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 23
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 25.02.09 10:13. Заголовок: Думаю что не в этом ..


Думаю что не в этом проблема ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 796
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.02.09 18:12. Заголовок: AlexCh пишет: Прост..


AlexCh пишет:

 цитата:
Простая программа, которая в цикле создаёт CDX для нескольких десятков файлов непредсказуемо вылетает в разных местах с различными сообщениями об ошибках или попросту зависает. Затыкается в разных местах, на 10-м файле, на 3, 15, 47 и т.д. Никакой системы.



Перед созданием индекса НЕОБХОДИМО базу открывать в режиме EXCLUSIVE, и перед созданием CDX-файла НЕОБХОДИМО УДАЛИТЬ ранее созданный индексный файл.
Я пользовался CDX с 1993 года и никаких проблем с ними не было, намного лучше NTX....
Что-то неправильно делаешь !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 132
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 25.02.09 20:17. Заголовок: Где то читал, что бл..


Где то читал, что блокировки разные у Clipper и VFP 6 , не получится в обе стороны.
А базу открывать EXCLUSIVE при создании индекса не надо, Clipper ее сам блокирует, если
ему позволят.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 26.02.09 08:20. Заголовок: Ну ничё не понимаю.


>Думаю что не в этом проблема ....

Вот и я не могу понять, в чём проблема.
Пробовал на двух разных машинах с разными операционками (WIN XP SP3 и WIN98)
Заново перестраивал EXE и запускал на чистых DBF-файлах (без CDX-индексов). Папку создал специально для отладки, к которой никто доступа не имеет и туда эти файлы сбросил.
Результат один и тот же.

>Перед созданием индекса НЕОБХОДИМО базу открывать в режиме EXCLUSIVE, и перед созданием CDX-файла НЕОБХОДИМО УДАЛИТЬ ранее созданный индексный файл.

Я много раз запускал эту прораммульку с созданием в цикле CDX-индексов на чистых DBF-файлах без CDX. Удалять было нечего. Вылетает где угодно, хотя пару раз и сработало до конца.
При вылете выдаются сообщения:

-ORDCREATE(0) Unrecoverable error 5302: Conventional memory exhaused

-Процессор NTVDM обнаружил недопустимую инструкцию

- или просто зависает без всяких сообщений

>Я пользовался CDX с 1993 года и никаких проблем с ними не было, намного лучше NTX....

А ты использовал SIX или DBFCDX?

>Где то читал, что блокировки разные у Clipper и VFP 6 , не получится в обе стороны.

В данном случае до VFP дело не ещё не дошло. Я не могу даже индексы CDX создать.

>А базу открывать EXCLUSIVE при создании индекса не надо, Clipper ее сам блокирует,
если ему позволят.

У меня базы как таковой нет, на CLIPPER 87 какая может быть база? Есть огромная куча файлов DBF (на файл-сервере Win2003 Server), с которыми без проблем одновременно работают Clipper 87 и VFP6. Блокировки может быть и разные, но на уровне RLOCK они друг друга понимают. Если одна прога запись заблокировала, то другая это понимает и к ней не лезет. VFP считывает запись из DBF, созданного Сlipper-ом, перекодирует символы DOS-Win и никаких проблем.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 114
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.02.09 09:30. Заголовок: AlexCh пишет: Unrec..


AlexCh пишет:

 цитата:
Unrecoverable error 5302: Conventional memory exhaused


Программа собрана для защищенного режима?
Вот такая команда "BLINKER EXECUTABLE EXTENDED" есть?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 26.02.09 10:39. Заголовок: Прошу помощи клуба.


Видимо, после CLIPPER 87 я чего-то недопонимаю в принципе.

Как я собираю:

Моя прога называется REST_CDX.prg

Мой файл сборки REST_CDX.rmk (взял из примера в папке SOURCE) такой:

// Define comma separated obj list as a macro
objs=REST_CDX
// Inference rule for compiling (.prg) to .obj files
.prg.obj:
CLIPPER $< /m /n /w > ttt.txt
// Dependancy statements for .obj file
REST_CDX.OBJ: .\REST_CDX.PRG
// Dependancy rule for linking .obj file to .EXE file
REST_CDX.EXE: REST_CDX.OBJ
BLINKER FILE $(objs) OUTPUT $@ lib dbfcdx.lib , _dbfcdx.lib

Потом запускаю REST_CDX.bat , который собирает REST_CDX.exe
del REST_CDX.obj
del REST_CDX.exe
SET PATH=C:\CLIP53\BIN;%PATH%
SET LIB=C:\CLIP53\LIB
SET INCLUDE=C:\CLIP53\INCLUDE
SET PLL=C:\CLIP53\INCLUDE
rmake REST_CDX

---
Попытки использовать рабочий файл сборки от Andrey или
вставить строку BLINKER EXECUTABLE EXTENDED в REST_CDX.rmk приводят к синтаксической ошибке.
Поясните, пожалуйста, что я делаю не так и куда надо вставлять эти строки.


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 33
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 26.02.09 10:46. Заголовок: Я десятки лет работа..


Я десятки лет работаю на Клиппере только с индексами CDX в смешанной среде (FOX26,Clipper,сеть) но с самого первого дня это был SIX.
Защищенным режимом не заморачиваюсь, потому что активно юзаю библиотеку, несовместимую с РМ.
линковка в большинстве случаев примитивна:
BLINKER fi прога,sixcdx @six3 lib ct250
в более сложных случаях еще скрипт @cl520mid

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 26.02.09 12:11. Заголовок: Вопрос про защищённый режим.


>Программа собрана для защищенного режима?
>Вот такая команда "BLINKER EXECUTABLE EXTENDED" есть?

Нет, собрана так, как я описал выше. Насколько я понимаю это сборка по умолчанию в реальном режиме, в не в защищённом.
Как переключиться в защищённый режим?
Работая на Clipper 87 никогда с такими вещами не встречался.




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 799
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.02.09 14:10. Заголовок: AlexCh пишет: Нет, ..


AlexCh пишет:

 цитата:
Нет, собрана так, как я описал выше. Насколько я понимаю это сборка по умолчанию в реальном режиме, в не в защищённом.
Как переключиться в защищённый режим?



Если используешь Blinker 6.0 то ставь мой LNK для сборки, тогда программа будет собираться в защищенном режиме.

AlexCh пишет:

 цитата:
Попытки использовать рабочий файл сборки от Andrey или
вставить строку BLINKER EXECUTABLE EXTENDED в REST_CDX.rmk приводят к синтаксической ошибке.
Поясните, пожалуйста, что я делаю не так и куда надо вставлять эти строки.



Эти строки только для BLINKER 3.2 и выше. Я же написал РАНЕЕ - смотреть надо !
# Скрипт-файл начана сценария компоновки BLINKER 3.2 - 6.0 - для ЗАЩИЩЕНОГО РЕЖИМА ПАМЯТИ (Extended Memory)

В стандартной поставке Клипера стоит версия 1.0 и она не собирает "защищенные приложения".

А если в реальном, то попробуй после индексации файла (DBFCDX) закрывать эту базу.
Скорее всего у тебя не хватает ОТКРЫТЫХ ОБАСТЕЙ (SELECT) !

А вообще - кончай "фигней" заниматься и переходи на хХарбор. Намного приятней работать и САМОЕ ГЛАВНОЕ - это СТАБИЛЬНАЯ РАБОТА программы.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 34
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 26.02.09 17:29. Заголовок: Коллеги, да не замор..


Коллеги, да не заморачивайте человеку голову защищенным режимом.. В Виндовой среде оно нафиг надо, тем более что чел до сих пор на S'87 сидел.
Ко всему высказанному ранее добавлю, что DBFCDX в Клиппере отличается нативной ущербностью...
иначе из-за чего бы он полностью менялся в каждой очередной версии?
короче, SIX рулит!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 133
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 27.02.09 20:52. Заголовок: А почему Clipper 5.3..


А почему Clipper 5.3 , а не (х)Харбор?.Нормально работает с CDX .Часть программ переевел с Clipper 5.01.
Не удалось создать на хХарбор временные индексы, ими пользовался в клиппере
Если спец библиотек нет, то и проблем не должно быть при переводе.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 21.02.09
ссылка на сообщение  Отправлено: 27.02.09 21:17. Заголовок: Не совсем так.


Чел не сидел S'87, а давно уже перешёл на VFP и написал на нём целую кучу работающих программ, но старые проги, написанные на Clipper переписать на VFP у чела нет никаких
физических возможностей. Их очень много, они очень сложные и многие их них написаны людьми, которых уже давно нет поблизости. Исходники у меня есть, но разбираться в чужих алгоритмах... ну вы понимаете...
Кроме того, нельзя их переписывать постепенно, поскольку это единый комплекс. Нужно переписать все сразу, отладить, а потом резко сменить всё. На практике это нереально. Трудозатраты на переписывание комплекса наших Clipper-программ я оцениваю как минимум в 5 человеко-лет, а я тут фактически один, кто реально может что-то разрабатывать в свободное от текущих доработок и разборок с пользователями время (есть ещё 2 программиста, системщик и технолог, но у них своих текущих дел выше крыши).. Пока буду переписывать последние проги с Clipper на VFP, первые устареют настолько, что их нужно писать по новой.
Прошу не судить меня строго за мои чайниковые вопросы, честно сказать у меня довольно тяжёлая ситуация и я пытаюсь найти выход в попытке состыковать Clipper с VFP на уроне индексов CDX, почему и попросил вашей помощи.
Увы, даже с вашими подсказками у меня меня пока не получается.

Один из вас откликнулся на мою просьбу и прислал мне SIX, за что я очень благодарен, но есть вопросы. Не сочтите за труд ответить на них, когда они созреют.
С уважением к сообществу.


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 35
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 28.02.09 00:06. Заголовок: Обращайся, если что...


Обращайся, если что.. Помогу.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 802
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.09 14:37. Заголовок: AlexCh пишет: Исход..


AlexCh пишет:

 цитата:
Исходники у меня есть, но разбираться в чужих алгоритмах... ну вы понимаете...
Кроме того, нельзя их переписывать постепенно, поскольку это единый комплекс. Нужно переписать все сразу, отладить, а потом резко сменить всё. На практике это нереально.



Если все Клиперные программы написаны на 87 или выше, то я как спец по переделке чужих программ на хХарбор заявляю:
1) переделать их совсем нетрудно, если нет вставок на С или ASM
2) может быть нужно будет подправить синтаксис команд (скобочки, пробел лишний поставить), и в алгоритмах разбираться ненужно.
3) переделка не занимает много времени, неделя максимум (это я чужие проги переделывал)
4) Любая прога на клипере (без других вставок) легко и ПОНЯТНО (как в клипере) переделывается в терминалку хХарбора.

В хХарборе есть классный сборщик проектов HBMAKE (как RMAKE в клипере) с продвинутыми возможностями. Если надо краткую доку, то могу выслать. Я тоже, сначала с трудом переделывал свои проекты на хХарбор. А теперь не жалею...


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1079
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.03.09 11:25. Заголовок: У меня когда-то был ..


У меня когда-то был успешный опыт совместной работы clipper 5.2e и FoxPro 2.6
По-умолчанию dbfcdx использует ту же схему блокировок, что и foxpro
Во 1-х, вопрос: файлы dbf используются с расширениями VFP. т.е. с расширенным заголовком, или в старом формате FoxPro ? Если с расширением vfp, то клиппер их не просто откроет

И некоторые советы. Надо использовать последние версии clipper: 5.2e или 5.3b. Собирать надо в защищенном режиме, т.е. дать команду:
BLINKER EXECUTABLE EXTENDED
Если не работает dbfcdx у clipper 5.3, может быть стоит попробовать clipper 5.2

Насчет Харбора - я думаю не стоит его использовать, лучше обойтись клиппером. Совместимость с S87 все-таки у него намного выше. Если не планируется в дальнейшем развивать проекты на клиппере, можно обойтись малой кровью - пересборкой на 5.2/5.3
Мне помнится, несколько лет назад Przemyslaw Czerpak писал, что полной совместимости по индексам у Харбора с VFP (именно с VFP, а не со старым FoxPro 2.6) у харбора нет. Сейчас я не могу найти это сообщение.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.03.09 11:44. Заголовок: Добрый день, уважаем..


Добрый день, уважаемые коллеги.

А проблема вообще имеет ли решение?
Берем .dbf, строим индех .cdx в Клиппере и Фоксе с одинаковым ключевым выражением. Оба индексных файла даже по длине не совпадают, т.е. имеются отличия в способах их построения. Такая же проблема при использовании SIX и ADS. Действительно, первое впечатление такое, что все работает на тестовом примере. Но когда работаешь с серьезными по размеру базами да еще и в сети и активно модифицируешь - очень скоро начинаются проблемы с корректностью индексов. Помнится давно делал такую ошибку: индексировал все базы на локальной машине, переписывал .dbf & .cdx на сеть и пытался после этого работать через ADS - проблемы типа index corrupted появлялись очень быстро. Чуть сдуру от ADS не отказался. Когда проиндексировал правильно через ADS - оказалось и быстрее, и проблемы с индексами пропали навсегда.
Опять же есть проблемы и с заданием индексного выражения. Если есть числовое поле "number,n,5", то в клиппере в сложном индексном выражении можно написать ...+str(number)+... , а в Фоксе ...+str(number,5)+..., иначе совсем индексы совпадать перестанут.

Для решения вопроса, который задал автор, может лучше использовать ADS: для Клиппера и Фокса прикрутить одинаковую библиотеку формирования индексов, которые прилагаются к ADS отдельно для клиппера и для фокса.


Спасибо: 0 
Цитата Ответить



Пост N: 2
Зарегистрирован: 24.03.09
ссылка на сообщение  Отправлено: 24.03.09 17:55. Заголовок: Всё просто - помимо ..


Всё просто - помимо dbfcdx.lib в каталоге библиотек имеется ещё _dbfcdx.lib. Её также надо прилинковать - тогда нормально работает.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 24.03.09
ссылка на сообщение  Отправлено: 24.03.09 22:02. Заголовок: Извиняюсь, здесь уже..


Извиняюсь, здесь уже ранее ответили на первый вопрос.
По второму вопросу - в своей системе я также использую как CLIPPER (чаще), так и FOXPRO (реже и завязал с ним, поскольку у FOXPRO убийственный недостаток - максимальная размерность массива 2. Для алгоритмиста это дрова. Если знал бы сразу - вообще бы с FOXом не связывался). Но тем не менее несколько программ уже есть на FOXe. Однако не понимаю, зачем нужны общие индексы? В клиппере я использую NDX, а на FOXe - его долбаные IDX, DBF общие. Работа идет порознь - каждому своё. Или система столь монументальна, что идет непрерывным потоком изменение файлов с двух сторон? Боюсь, что нормального решения нет для разнородных систем, столь тесно работающих друг с другом на уровне индексов.
А по поводу глюков по созданию CDX Клиппером единственный совет - это скинуть файл с минимальным тестовым примером без предметной части (прога + DBF + описание глюка (когда и как он проявляется), может кому и удасться докопаться до сути происходящего.
По крайней мере у меня интерес возник.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 02.04.09 11:55. Заголовок: Ответ на предыдущее ..


Ответ на предыдущее письмо. _dbfcdx.lic конечно же прилинковываю, но это не помогает.

Для реализации возникшего интереса можно взять первую попавшуюся .DBF и построить по любому индексному выражению .CDX клиппером и фоксом.
Размер у индексов будет разным, не говоря уже о содержимом одинаковых якобы индексов.

У фокса есть преимущество по сравнению с клиппером: намного быстрее работает с базой, а у меня задача на 400 тыс. абонентов, которых нужно каждый месяц массово пересчитывать. Тут бы фокс помог, а то бегаю по управлению, компьютеры ищу, которые можно на ночь оставить для расчета. Так что такая связка иногда весьма полезна

Спасибо: 0 
Цитата Ответить



Пост N: 70
Зарегистрирован: 04.12.07
ссылка на сообщение  Отправлено: 02.04.09 15:07. Заголовок: ...у меня задача на ..



 цитата:
...у меня задача на 400 тыс. абонентов...



 цитата:
...а то бегаю по управлению, компьютеры ищу, которые можно на ночь оставить для расчета.


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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 825
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.04.09 19:52. Заголовок: Urri пишет: а у мен..


Urri пишет:

 цитата:
а у меня задача на 400 тыс. абонентов



У меня задача раньше была на 150 тыс. абонентов. Считала целую ночь. Потом пределал алгоритм (долго делал) стала считать за 5 часов.
Перешел на хХарбор. Считает 1,5-2 часа примерно.
Так что Фокс, что Клиппер - пора переходить на нормальные компиляторы.
А если руководство не понимает твоего труда - нужно менять руководство, или забить на работу.
Чем раньше поймешь эту истину, тем легче будет жить дальше.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 03.04.09 12:31. Заголовок: Смотрел я на хХарбор..


Смотрел я на хХарбор в начале его творческого пути, но не нашел тогда возможности прицепить к нему ADS, без которого сейчас себе не мыслю работы для своих больших по размеру баз (корректность индексов и транзакции дорого стоят). Если знаешь как подружить с ADS - подскажи пожалста и дай ссылку где взять стабильно работающий хХарбор. Я постараюсь поднять на нем расчетную часть - может полегчает.

На нормальный компилятор переходить, говоришь? Это при том, что 60% машин (из 300) такие, что половину из них w98 с трудом тянут, а другая половина - w95 только поддерживает с 14" мониторами и разрешением 640*480... Что, на VBasic-4? А руководство сейчас трудно поменять - кругом кризис однако, работодатели программистов сейчас не жалуют. Или у вас в регионе по-другому?

Спасибо: 0 
Цитата Ответить
Администратор




Пост N: 1084
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.04.09 15:10. Заголовок: Поддержка Ads в харб..


Поддержка Ads в харборе есть.
Харбор с Ads подружился даже раньше, чем с DBFCDX, т.е. рабочмй rdd для Ads был готов, когда DBFCDX был еще глючный


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 830
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.04.09 21:15. Заголовок: Urri пишет: что пол..


Urri пишет:

 цитата:
что половину из них w98 с трудом тянут, а другая половина - w95 только поддерживает с 14" мониторами и разрешением 640*480... Что, на VBasic-4?


Так хХарбор даже на w98 - 95 работать НАМНОГО стабильней и быстрей будет. Я тоже очень сомневался раньше, а сейчас просто думаю почему мне никто раньше его (хХарбор) не показал !!!
Задача из Клипера в хХарбор переноситься просто компиляцией, но могут быть заморочки, но небольшие.
Проблемы будут, подскажем. Я уже систем 5 своих и 3 чужих пренес !!! Чужие даже легче пошли, за неделю делал !

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 04.04.09 11:38. Заголовок: Уважаемые (вместе с ..


Уважаемые (вместе с модератором Pasha)! Вы не дразнитесь, а ссылку дайте на стабильный релиз хХарбора и rdd для ADS и где что можно почитать. Пожалста. Очень нужно

Спасибо: 0 
Цитата Ответить
постоянный участник




Пост N: 832
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.04.09 12:36. Заголовок: Вот блин ! Берешь пр..


Вот блин ! Берешь просто http://www.xharbour.org качаешь оттуда версию и все !
Я на этой версии уже почти год сижу !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 24.03.09
ссылка на сообщение  Отправлено: 06.04.09 15:03. Заголовок: Тест


Провел тест для clipper 5.3, Blinker 1.0 и FoxPro 8.
Имеются два одинаковых файла testclp.dbf и testfox.dbf
с полями NAME, NAME1 - C(10), NUMBER, NUMBER1, SUMMACLP, SUMMAFOX - N(10).
Специальная программа fill.exe <кол-во записей> заполняет оба эти файла таким образом:
NAME=A000000001, NUMBER1=1 для 1-й записи,
NAME=A000000002, NUMBER1=2 для 2-й записи и т.д.
Поля NAME1 и NUMBER1 заполняются аналогично, но в обратной оследовательности, т.е. указанные значения будут иметь последняя и предпоследняя записи и т.д. Поля SUMMAFOX и SUMMACLP программой fill.exe не заполняются.
Далее имеются две аналогичные программы на CLIPPER (testclp.exe) и на FoxPro (testfox.exe). Для testclp.exe (clipper) задача следующая:
а) проиндексировать файл testclp.dbf по полю NAME (tag FLD)
и по полю NAME1 (tag FLD1), создав при этом "свой" индекс testclp.cdx;
б) пройтись по файлу testfox.dbf и, пользуясь созданным в а) индексным файлом, для каждой строки из testfox.dbf по значению NAME отыскать строку в файле testclp.dbf, у которой такое же поле NAME и прибавить поле NUMBER из этого файла к полю SUMMACLP из testfox.dbf; затем по этому же значению NAME отыскать еще одну строку в файле testclp.dbf, у которой такое же поле NAME1 и вычесть из поля SUMMACLP testfox.dbf.
в) пройтись по файлу testclp.dbf и, пользуясь индексным файлом testfox.cdx, созданным другой программой (testfox.exe - FoxPro),
для каждой строки из testclp.dbf по значению NAME отыскать строку
в файле testfox.dbf, у которой такое же поле NAME и прибавить поле NUMBER
из этого файла к полю SUMMACLP из testclp.dbf; затем по этому же значению NAME
отыскать строку в файле testfox.dbf, у которой такое же поле NAME1 и
вычесть из поля SUMMACLP testclp.dbf.
Для testfox.exe (FoxPro) аналогичная задача:
а) проиндексировать файл testfox.dbf по полю NAME (tag FLD)
и по полю NAME1 (tag FLD1), создав при этом "свой" индекс testfox.cdx;
б) пройтись по файлу testclp.dbf и, пользуясь созданным в а) индексным файлом, для каждой строки из testclp.dbf по значению NAME отыскать строку в файле testfox.dbf, у которой такое же поле NAME и прибавить поле NUMBER из этого файла к полю SUMMAFOX из testclp.dbf; затем по этому же значению NAME отыскать строку в файле testfox.dbf, у которой такое же поле NAME1 и вычесть из поля SUMMAFOX testclp.dbf.
в) пройтись по файлу testfox.dbf и, пользуясь индексным файлом testclp.cdx, созданным другой программой (testclp.exe - Clipper),
для каждой строки из testfox.dbf по значению NAME отыскать строку
в файле testclp.dbf, у которой такое же поле NAME и прибавить поле NUMBER
из этого файла к полю SUMMAFOX из testfox.dbf; затем по этому же значению NAME
отыскать строку в файле testclp.dbf, у которой такое же поле NAME1 и
вычесть из поля SUMMAFOX testfox.dbf.
Таким образом, при правильной работе обе программы должны к каждому полю каждого файла прибавить и вычесть одно и то же число (хотя и расположенные в разных записях), и в результате при правильной работе системы должны остаться нулевые значения в полях SUMMACLP и SUMMAFOX в обоих файлах.
Тест проводился для 100000 и 400000 записей, и не смотря на разный размер индексных файлов, дал правильный результат. Единственное что - при добавлении записей один из индексных файлов ("чужой") остается неправильным, поэтому при первом запуске каждая из программ выполняет только работу со "своим" индексом, и не выплняет с "чужим". После запуска второй программы оказываются правильно проиндексированными оба файла и обе программы начинают работать без сбоев (аналогично при уменьшении кол-ва записей, но при этом FoxPro вылетает в error на чужом индексе, и мне пришлось применить обработчик ON ERROR... Но это из-за того, что изменение кол-ва записей производится fill.exe без открытия обоих индексов, а также из-за того, что каждая из программ не переиндексирует чужой индекс (т.е. эта
проблема искусственно создана - иначе и не должно быть). Если разрешить FoxPro выполнить переиндексацию чужого индекса - тогда нормальная работа восстанавливается. Далее "совершенствовать" систему обработок ошибок я не стал, чтобы обе программы не сильно отличались друг от друга.
Итог следующий:
1) У меня сначала был Clipper 5.3 без патча (и я на нем уже давно работаю). Он действительно давал сбои: начиная где-то с 40000 записей, иногда работал нормально, иногда зависал, иногда вылетал с ошибкой (типа программа выполнила недопустимую операцию) в начале программы при попытке проиндексировать "свой" CDX. Как советуют здесь на форуме, сделал патч до 5.3b - всё заработало нормально. Но и до патча глюки были не в том смысле, что не понимались индексы FoxPro - без переиндексирования (когда оба индеса создавались FoxPro) обработка нормально выполнялась, CLIPPER валился на создании "своих" индексов.
2) для современных CУБД 400000 записей - не очень много. Как
видно из результатов теста, обработка всего файла со случайным поиском
занимает 2-3 минуты максимум даже на несколько устаревших компьютерах. Так что 2-4 часа времени на современной технике (и даже 30 мин.) - это "das ist fantastisсh" в моих понятиях. Проблема скорее всего или в неэкономном алгоритме, или в узких местах типа пропускной способности сети (из-за повального увлечения архитектурой клиент-сервер, к чему я отрица- тельно отношусь - но это оффтоп). 3) Как видно из результатов теста, время на создание индекса незначительно по сравнению с общим временем работы, так что лучше всего перед началом обра- ботки файлов индексы создавать заново, не доверяя ранее созданным "чужим" и "своим"индесам (если только они не используются в этот момент другими программами).
Каждая из программ в случае нормальной обработки файлов сообщает время (в сек.), потребовавшееся для:
- создания "своего" индекса (пyнкт а);
- обработки файла по "своему" индексу (пункт б);
- обработки файла по "чужому" индексу (пункт в);
- общее время работы (сюда добавляется еще время на заполение полей
SUMMAFOX и SUMMACLP нулевыми значениями в обоих файлах).
Прилагается архив:
info.doc - результаты эксперимента по времени выполнения.
fill.prg - текст вспомогательной программы на clipper для заполнения файлов.
calc.prg - текст clipper-программы.
program1.prg - текст FoxPro-программы.
makefill.bat - создает fill.exe (немного подкорректировать придется)
makecalc.bat - создает testclp.exe (тоже самое).
proj1.pjx - файл проекта на FoxPro.
testfox.dbf и testclp.dbf - файлы с данными (созданные в DBU).
testclp.cdx - индексный файл, создаваемый CLIPPERом.
testfox.cdx - инрексный файл, создаваемый FoxPro.
fill.exe - программа для заполнения файлов.
testclp.exe - программа на CLIPPERе.
testfox.exe - программа на FoxPro.
Для testfox.exe потребуется runtime environment (от VFP6
скорее всего не подойдет, так что придется использовать текст из program1.prg
и возможно тоже подкорректировать).
Для сокращения объема архива файлы dbf содержат по 10 записей, для проведения реальных испытаний следует число записей увеличить.
Если в наличии CLIPPER 5.2, то также придется подкорректирвоать fill.prg и саlc.prg.
Тесты для CLIPPER'87, CLIPPER 5.2 и VFP6 попробую выполнить несколько позже, поскольку c этими версиями не работаю и сейчас в рабочем состоянии их нет
(а также перекрестные тесты типа CLIPPER 5.2 <-> VFP8 и CLIPPER 5.3 <-> VFP6).
Несмотря на кажущуюся простоту задачи, времени все же потребовалось немало, однако именно такие объективные сравнительные исследования представляют для меня значительный интерес.
Ссылка на файл cdx.rar с тестом http://slil.ru/27376115


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 833
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.04.09 08:59. Заголовок: ALGO пишет: Так что..


ALGO пишет:

 цитата:
Так что 2-4 часа времени на современной технике (и даже 30 мин.) - это "das ist fantastisсh" в моих понятиях. Проблема скорее всего или в неэкономном алгоритме


Это не проблема, и не неэкономный алгоритм.
Нормальный, по другому не получиться. Для понятия этого алгоритма нужно представить запись значений 24 сумм прихода денег, 24 дат прихода денег, 24 тарифов, 24 сумм начислений и т.д. в одну запись в базе. Так было еще мной на Клипере написано, и пока еще не переделывал, да и не буду наверно.
Я видел как на платформе 1С версии 7.5 реализовали начисление коммунальных платежей, так там у 9.тыс. абонентов начисления делались порядка 5 часов. И ничего, никто не жаловался.



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 24.03.09
ссылка на сообщение  Отправлено: 08.04.09 09:22. Заголовок: Andrey пишет: Я вид..


Andrey пишет:

 цитата:
Я видел как на платформе 1С версии 7.5...


1C прошу не упоминать

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 32 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 15
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет