Форум » [x]Harbour » ADS Remote , как подключится ? » Ответить

ADS Remote , как подключится ?

Dima: Имеем Novell Netware 4.11 (IPX) на нем работает ADS 5.6 Имеем свеже собранные библиотеки ADS 8.0 Как подключится к базам посредством ADS ? #include "ads.ch" #include "ord.ch" #include "set.ch" PROCEDURE Main REQUEST ADS AdsSetServerType(2) rddRegister("ADS",1) rddsetdefault("ADS") AdsRightsCheck(.F.) AdsSetFileType(ADS_CDX) hb_SetCodepage("RU866") REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") AdsSetCharType(2, .T.) use o:\sklad\dbf\nomen index o:\sklad\dbf\nomen3 shared new // просто зависает прога close all return

Ответов - 46, стр: 1 2 3 All

Dima: Pasha пишет: поправил, попробуй теперь Вот теперь в ДЕСЯТКУ !!!!!!!!!! СПАСИБО !!!!!! Подводные камни могут быть ?

Pasha: Только если в поле хранятся двоичные данные, и перекодировка oem->ansi->oem даст значение, отличное от исходного Проверь еще scope, filter Должно работать

Dima: Проверил пока что dbseek , не пашет однако.


Pasha: scope, filter с русскими строковыми константами

Pasha: Dima пишет: Проверил пока что dbseek , не пашет однако. Ага, значит и тип ADS_RAWKEY не поддерживается Надо еще перекодировать ключ для Seek Сделаю

Dima: Pasha пишет: scope, filter с русскими строковыми константами у меня исключены такие фильтры , все на English.

Dima: Проверил фильтр. Работает.

Dima: Проверил изменения по seek , работает. Ответ в мыле. Спасибо за отличную и нужную работу !!!!!!!!

Dima: Pasha Режим Multi Thread + ADS , собираем и получаем ошибку Unresolved External _hb_stackST Как лечить ?

Pasha: rddads.lib собирается в st режиме для сборки в режиме mt надо в rdd_ads\makefile.bc заменить строку bcc32 $(CLIBFLAGS) $(C_USR) $(CFLAGS) -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $** на bcc32 $(CLIBFLAGS) $(C_USR) $(CFLAGS) -tWM -DHB_THREAD_SUPPORT -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $**

Dima: Пересобрал , результат тот же....

Pasha: Скорее всего, кроме rddads.lib, в сборке есть еще какая-то ST-библиотека. Откуда идет ссылка на _hb_stackST ?

Dima: RDDADS.LIB|ADSFUNC

Dima: Pasha пишет: rddads.lib собирается в st режиме для сборки в режиме mt надо в rdd_ads\makefile.bc заменить строку bcc32 $(CLIBFLAGS) $(C_USR) $(CFLAGS) -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $** на bcc32 $(CLIBFLAGS) $(C_USR) $(CFLAGS) -tWM -DHB_THREAD_SUPPORT -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $** ты пробовал собрать так и затем собрать какое то приложение под ADS ?

Pasha: Непонятно. В adsfunc нет ссылки на hb_stack. Если посмотреть adsfunc.obj, тоже не видно hb_stackST/MT. Т.е., rddads.lib должна работать как с mt, так и с st сборкой, указывать флаги tWM -DHB_THREAD_SUPPORT необязательно ты пробовал собрать так и затем собрать какое то приложение под ADS ? У меня сборка идет немного по-другому, но все собирается и работает Я собираю harbour.dll в mt режиме, и отдельно hbads.dll без указания флагов mt-сборки. Если бы была ссылка на hb_stackST, ничего бы не собралось Дима, поищи ссылку на hb_stackST в obj-файлах, она ведь где-то есть, раз сборка не получается

Dima: Pasha Почему бы не сделать сборку всех библиотек более цивилизованно как в обычном так и в mt режиме. Ведь часть библиотек создается как в обычном режиме так и mt на автомате.



полная версия страницы