Форум » [x]Harbour » Перевожу Clipper на консольный Харбор » Ответить

Перевожу Clipper на консольный Харбор

MIKHAIL: Добрый день, уважаемое сообщество! Перехожу на Харбор, собрал программу, начинаю бороть ошибки несовместимости кода, по мере появления вопросов надеюсь на скорую помощь. Заранее всем участникам огромное спасибо!

Ответов - 245, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All

Dima: MIKHAIL Попробуй тест (у меня работает) [pre2] Proc main local adshandle:=0 AdsSetServerType(2) if AdsConnect("c:\") adshandle:=AdsConnection() ? AdsIsConnectionAlive(adshandle) endif return [/pre2]

MIKHAIL: Dima пишет: if AdsConnect("c:\") adshandle:=AdsConnection() ? AdsIsConnectionAlive(adshandle) endif у меня все равно выдает .F. Может какие то установки или настройки ADS нужны?

Dima: MIKHAIL а если этот тест запустить непросредственно на винсервере r8 64 , где живет ADS.


Haz: MIKHAIL пишет: Попробовал по разному, под WIN32XP и ServerR8 64 на ADS 10.10 и ADS 9.10 и Linux 64 ADS64 10.10, везде функция выдает .F. 1 Поставь ADS Server на СВОЙ комп ( на котором запускаешь тестовую программу от Димы ) 2 убедись что на компе в системной папке винды , в путях поиска и в папке с тестом не было старых версий DLL от ADS потом проверь тест который дал Дима

Dima: MIKHAIL Что выдает ? AdsVersion(3) у меня Advantage 32-bit Client Engine for Windows, v10.1

MIKHAIL: Dima пишет: ? AdsVersion(3) Advantage 32-bit Client Engine for Windows, v10.10 Тестил на своем и на сервере, везде одно и тоже

Dima: MIKHAIL Да уж , полтергейст какой то )) А RddAds переcобирал c новым ACE ? ps может файер что то блочит........

MIKHAIL: Dima пишет: А RddAds переcобирал c новым ACE ? Я пока не очень разбираюсь в этом, подскажите как это сделать пошагово?

Dima: MIKHAIL пишет: Я пока не очень разбираюсь в этом, подскажите как это сделать пошагово? компилятор BCC или MINGW ? сырцы Harbourа есть ?

MIKHAIL: BCC, сырцы есть

Dima: MIKHAIL Следующий батник ложим в папку с сырцами RDDADS У меня они тут C:\svn\harbour-trunk\harbour\contrib\rddads\ Пути поправь на свои [pre2] set PATH=C:\bcc55\bin set HB_INSTALL_PREFIX=c:\hb32 set HB_DIR_ADS=C:\ads.10.10\acesdk set HB_WITH_ADS=C:\ads.10.10\acesdk c:\hb32\bin\hbmk2 rddads.hbp [/pre2] Стартуем батник , после его работы в этой папке видим 2 новых файла rddads.lib и ace32.lib Копируем их куда нужно (папка LIB Харбора)

Haz: MIKHAIL Dima пишет: Следующий батник ложим в папку с сырцами RDDADS У меня они тут C:\svn\harbour-trunk\harbour\contrib\rddads\ а взять их можно тут http://github.com/harbour/core/archive/master.zip ЗЫ в принципе заведомо рабочие библиотеки можно взять с этого форума , скачав здесь MiniGui и установив. там в поставке идут эти библиотеки

MIKHAIL: Собрал, все заработало! Еще мне не понятно отличие функций AdsMg*** Мне нужно получить список пользователей, а при AdsConnect() функция AdsMgGetUserName() не работает, приходится использовать AdsMgConnect(), но при этом получается несколько соединений к ADS от одного пользователя. И как узнать свое собственное подключение в списке ?

Dima: MIKHAIL пишет: AdsMg*** Для всех этих функций нужен AdsMgConnect()

Dima: MIKHAIL пишет: И как узнать свое собственное подключение в списке ? По имени компа [pre2] AdsMgConnect() if ADSMGGETHANDLE()>0 aRay := AdsMgGetUserNames() FOR j=1 TO Len( aRay ) if aray[j][1]==netname(1) // netname(1) лучше заюзать где то в начале проги и запомнить результат ? "Это я :)" exit endif NEXT endif AdsMgDisconnect() [/pre2] При одиночном коннекте AdsConnection + AdsMgConnect Массив выглядит примерно так [pre2] {{"MYCOMP", 0, "IPC Connection 2", "", "dima", "0.0.0.0"}, {"MYCOMP", 0, "IPC Connection 3", "", "dima", "0.0.0.0"}} [/pre2]

MIKHAIL: Спасибо всем огромное!!! Буду дальше разбираться

Dima: MIKHAIL На заметку http://clipper.borda.ru/?1-4-0-00000830-000-0-0

MIKHAIL: Иногда (редко) подвисает программа, не реагирует ни на что. Хотя иногда может и отвиснуть. Как отследить в чем проблемма? Код работал на Clipper много лет.

Dima: MIKHAIL По сети работает или локально ? Виснет в разных местах ? Какая ось на станции ?

MIKHAIL: Dima причина оказалась в железе, USB порт клавиатуры видно подглючивал.



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