Форум » [x]Harbour » Помогите советом начинающему... » Ответить

Помогите советом начинающему...

Urri: Тут вот надумал переползти на xHarbour. Возникла следующая проблема: имена всех функций и подпрограмм дополняются префиксом HB_FUN_. А можно ли этого избежать так, чтобы остались родные, начальные имена. У меня весь софт построен на скриптах, в которых уже стоят вызовы функций и процедур по привычным, родным именам. И перелопатить везде в 5000 текстовых файлах-скриптах вызовы функций и поменять на новые - задача крайне утомительная с непонятной перспективой на успех.

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

Pasha: На страничке http://minigui.mylivepage.ru/ Harbour 1.1.0dev (Rev. 10960) for BCC 5.5.1

Pasha: Еще насчет Ads. У клиентов харбора исчезнут всякие сложности с настройкой доступа по протоколу ipx, поскольку с работой по ip таких проблем нет

Dima: Pasha пишет: У клиентов харбора исчезнут всякие сложности с настройкой доступа по протоколу ipx что то не припомню сложностей по ipx ставим Novell Client в мануальном режиме , протокол только IPX


Urri: Спасибо. Это для меня важно, т.к. у нас такая проблема имелась. С указанного сайта Григория не могу пока скачать, т.к. регистрация не проходит, написал им письмо и жду, пока ответят. Почему старики-нарбористы Dima, Andrey, Петр не подсказали начинающему? Или сами не знали о таком состоянии xHarbour? Мне хитрым образом пока удалось временно выкрутиться с анализом CTRL,ALT,SHIFT. Теперь похоже все заработало. Завтра начну ковыряться с ADS. Не взыщите, буду еще приставать

Dima: Urri пишет: Почему старики-нарбористы Dima я скорее всего клиперист чем харборист ;) Urri пишет: Не взыщите, буду еще приставать Да ни вапрос.

Pasha: Urri пишет: Почему старики-нарбористы Dima, Andrey, Петр не подсказали начинающему? Или сами не знали о таком состоянии xHarbour? О сравнительных характеристиках Harbour/xHarbour здесь много раз говорилось, поэтому, наверное, лишний раз никто это не подчеркнул. Это не значит, что xHarbour сейчас в плохом состоянии, или что он за последнее время стал хуже. Наоборот. Просто сейчас новые фичи перетягиваются в него из Harbour.

Andrey: Urri пишет: Почему старики-нарбористы Dima, Andrey, Петр не подсказали начинающему? Очень приятно когда тебя относят к старикам, но к сожалению я им пока не являюсь.... Просто пока мне пришлось перетаскивать несколько проектов и приобрел некоторый опыт. Но мне еще очень далеко до Петра, Григория и других.... Я чистый прикладник, во внутренности Харбора не лезу...

Urri: Добрый день, уважаемые. Началось основное: прикручивание ADS. При запуске программы говорит: "Порядковый номер 510 не найден в библиотеке DLL ACE32.DLL" И что это значит, как это лечится?

Pasha: Это значит, что программа собрана с библитекой ace32.lib, которая не соответствует ace32.dll То есть, ace32.lib содержит ссылки на функции из ace32.dll по номерам функций, и при загрузке ace32.dll оказывается, что функции с номером 510, который был присвоен функции при линковке, в ace32.dll нет Надо командой implib сгенерировать ace32.lib именно из той ace32.dll, которая будет использоваться, и пересобрать свою программу с этой ace32.lib

Urri: Сделал как указано выше. В программе есть такой текст && REQUEST ADS rddRegister("ADS",1 ) rddsetdefault("ADS") взятые на странице Кресина. Если первая строка закоментирована, то выдает "RDD invalid or failed to load". Так наверное и должно быть. После удалении && при линковке выдает сообщение Error: Unresolved external 'AdsSkipUnique' referenced from G:\PROC\XHARBOUR\LIB\RDDADS.LIB|ads1 Эта ф-ция есть в RDDADS.LIB, проверил - в списке библиотек при линковке она присутствует. Но ошибку выдает, зараза. Что присоветуете?

Pasha: С тех пор, как Кресин делал это описание, процедура подключения Ads изменилась. Теперь достаточно указать: Request Ads ну и rddSetdefault("ADSCDX") AdsSetFileType( 2 ) а unresolved выдается, так как в скрипте для линкера по-видимому не указана ace32.lib, на которую есть ссылка из rddads.lib, модуль ads1

Pasha: Еще для правильной работы с OEM-кодировкой надо вызвать функцию: AdsSetCharType( 2, .t. )

Dima: Что бы под Novell не тормозило вызвать AdsRightsCheck(.F.)

Urri: ACE32.LIB в скрипте линковки есть (проверил). Операторы, указанные выше - поставил. Не помогает.

Dima: Сложи актуальные DLL от ADS в папку с программой или Windows\system32 ACE32.DLL ADSLOC32.DLL adslocal.cfg ANSI.CHR AXCWS32.DLL EXTEND.CHR

Pasha: Функция AdsSkipUnique как раз из ace32.dll Кажется, я догадался. rddads.lib собран для ace32.dll версии 9, в которой есть эта функция. А в более ранних версиях ace такой функции нет Вывод: надо либо использивать ace версии 9, либо пересобрать rddads.lib, указав #define ADS_LIB_VERSION 700 (поставить нужную версию)

Urri: Добрый день, уважаемые. Pasha пишет: Вывод: надо либо использивать ace версии 9, либо пересобрать rddads.lib, указав #define ADS_LIB_VERSION 700 (поставить нужную версию) Чтобы "пересобрать" rddads.lib нужно изрядно подолбиться с Borland C, с которым я не сдружился, к сожалению. На это уйдет уйма времени и сил. Я постараюсь со временем научиться пересобирать весь пакет Харбора или его часть из исходников, но тогда, когда я пойму что это всерьез и надолго. А чтобы я это понял, нужно чтобы заработало то что есть уже сегодня. Большой путь уже пройден и без ADS все заработало. И вот споткнуться на последнем шаге - обидно будет. Может кто поделится последней нормальной сборкой, в которой нет проблем, указанных выше Pasha и другими знатоками? А также поделитесь локальным ADS: на родном сайте advantagedatabase.com после выбора Local Server для загрузки ссылку дает на триальную версию полного сервера. Заранее говорю всем спасибо...

Pasha: Какая версия ace нужна ? Какая версия xHarbour ?

Urri: Какая нужна? Вы же лучше меня, начинающего, это знаете. Какую дадите, той и рад буду. Конечно, хотелось бы самую свежую из проверенных, стабильно работающих совместно с ADS.

alkresin: Urri пишет: Чтобы "пересобрать" rddads.lib нужно изрядно подолбиться с Borland C, с которым я не сдружился, к сожалению. Не нужно для этого "долбиться". Достаточно просто зайти в каталог contrib/rddads ( или rdd_ads - в разных версиях он по разному называется ) и запустить make_b32.bat. Возможно, надо будет открыть этот make_b32.bat и сделать, как там написано, т.е. установить переменную окружения HB_DIR_ADS=C:\ads\acesdk ( или другое место, где у вас стоит ADS ). Это ничуть не труднее, чем собрать свою программу.



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