BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Не указаны библиотеки, с которыми нужно линковаться!

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Не указаны библиотеки, с которыми нужно линковаться!
 
Еще раз добрый день!
Выполняю одни и те же действия в Б5-33 и Б5-34. В Б5-33 проходит, а в Б5-34 нет.
Результат компиляции. W000:Не указаны библиотеки, с которыми нужно линковаться!
В документации (той, что есть) ничего по этому поводу не нашел.
Вопрос:
Где и что надо указывать для линковки?
 
"Опции" - "Настройки IDE" - "Вызывать линковщик после компиляции". Снимите галку.
Или укажите библиотеки для линковки в свойствах проекта ("LIBRARIES") :-)
С уважением, Новиков Алексей.
 
Цитата
Алексей Новиков пишет:
"Опции" - "Настройки IDE" - "Вызывать линковщик после компиляции". Снимите галку.
Или укажите библиотеки для линковки в свойствах проекта ("LIBRARIES") :-)

Галку снимал и снова ставил, ничего не меняется.
Прошу уточнить какие библиотеки надо указать для линковки. Пробую пока пример из Быстрого старта.
 
Цитата
Алексей Новиков пишет:
"Опции" - "Настройки IDE" - "Вызывать линковщик после компиляции". Снимите галку.
Или укажите библиотеки для линковки в свойствах проекта ("LIBRARIES") :-)

Подключил все файлы с расширением lib версии 34. Результат не изменелся.
 
Надо не lib, а bdll.
Достаточно для начала pll.bdll
Там все основные функции скомпилированы.
С уважением, Новиков Алексей.
 
В "Опции" - "Переменные среды" - "LIB" надо прописать путь к каталогу client\bin. А в свойствах проекта в LIBRARIES указать "pll.bdll"
С уважением, Новиков Алексей.
 
Цитата
Алексей Новиков пишет:
Надо не lib, а bdll.
Достаточно для начала pll.bdll
Там все основные функции скомпилированы.

Алексей!
Подставил pll.bdll и свой bdll. Результат тот же. Где еще искать.
Привожу полный текст: Результата компиляции.

Библиотека: C:/PROGRAM FILES/BEST/BEST5_34/SERVER/DATA/PRO/USERLIBS/userlibpro.bdll размер 251.
Проверка внешних функций, библиотеки: C:/PROGRAM FILES/BEST/BEST5_34/SERVER/DATA/PRO/USERLIBS/userlibpro.dt_
Load symbols from C:/PROGRAM FILES/BEST/BEST5_34/SERVER/DATA/PRO/USERLIBS/userlibpro.bdll
W0000 :Не указаны библиотеки, с которыми надо линковаться!
Error: Нет реализации функции SAYANDWAIT
 
У меня нормально компилируется со следующими настройками:

Переменные среды.
С уважением, Новиков Алексей.
 
Свойства проекта.
С уважением, Новиков Алексей.
 
Алексей!
Благодаря Вашей помощи, после нескольких переустановок БЭСТ-5-34-6 и многократного повторения одних и тех же действий линковка прошла.
Эмпирически вышел на следующую последовательность действий:
1. Установить БЭСТ-5-34-6. Развернуть БД.
2. Запустить BestIde.exe. Снять галку Опции – Настройки – Соединение c SourceSafe. Выйти.
3. Запустить BestIde.exe. Выбрать предприятие. Создать пользовательский проект. Открыть окно редактора. Написать процедуру.
4. Настроить Свойства проекта – Общее и Переменные среды как у Вас.
5. Нажать F7.
После этого дальнейшие компиляции и линковки идут.
Возможно, кто-то скажет, что все это бред. Спорить не буду. Но, увы, по другому убрать сообщение W0000 :Не указаны библиотеки, с которыми надо линковаться! у меня не получалось. Проверял на двух машинах.
Компиляция прошла, но продолжить пример из Быстрого старта в Б-5-34-6 все равно не получилось.
Сделал все как написано в Быстром старте:
1. Запустил Best.exe –d. По Alt-Tab перешел в БЭСТ. В АРМе по Ctrl-F5 написал:
Имя файла: @MyTest
Параметры:
Вызов: по требованию
Горячая клашиша: K_ALT_1
2. Запускаю процедуру по Alt-1 в ответ получаю сообщение:
Ошибка при выполнении функции MyTest
Ровно то же самое в БЭСТ-5-33 работает. Открывается окно отладчика и можно пройти с помощью клавиши F10 по строкам.
Похоже, что в БЭСТ-5-34-6, где-то что-то опять не подключено.
Вопрос:
Что не так? Что делаете Вы?
Заранее благодарю, за ответ. Если можно в картинках.
 
Видимо, в БЭСТ 3.4 что-то переделали.
Можно сделать так.
В каталоге client\bin создаёте каталог userlibs. В этот каталог копируете скомпилированную библиотеку (userlibs.bdll). Библиотека автоматически не копируется из каталога server\Data\Pro\userlibs\ при запуске БЭСТ-5 3.4, так как это было в БЭСТ-5 3.3. Но загрузку библиотек из client\bin\userlibs не отключили, поэтому после того, как Вы скопируете туда свою библиотеку, Ваш плагин начнёт запускаться.
С уважением, Новиков Алексей.
 
Да, конечно переделали и очень серъезно.
Виктор отказывайтесь плз от технологий 3.3 и лучше не надо ничего по
аналогу делать.(в плане запуска отладчика и т.п.)
Посмотрите для начала на УРОК 3 пункт 2 и на описание ко второму пакету версии 3.4.
Отладчик стартует по ALTD() и для этого БЭСТ ни с какими ключами запускать не надо. Теперь можно делать спокойно на hrb кстати для
подключения по CTRL-F5.
Поддержку библиотек не отключали 3.3, но сама организация поддержки пользовательских решений теперь упорядочена и полагаю Вам необходимо с ней ознакомиться.
 
Не торопитесь Виктор, вот выйдет версия 3.5, там разработчик опять упорядочит поддержку пользовательских решений и опять будем переписывать свои плагины под новый стандарт, потому что старый отключат. :-)
С уважением, Новиков Алексей.
 
Цитата
Алексей Новиков пишет:
Видимо, в БЭСТ 3.4 что-то переделали.
Можно сделать так.
В каталоге client\bin создаёте каталог userlibs. В этот каталог копируете скомпилированную библиотеку (userlibs.bdll). Библиотека автоматически не копируется из каталога server\Data\Pro\userlibs\ при запуске БЭСТ-5 3.4, так как это было в БЭСТ-5 3.3. Но загрузку библиотек из client\bin\userlibs не отключили, поэтому после того, как Вы скопируете туда свою библиотеку, Ваш плагин начнёт запускаться.

Спасибо. Заработало.
Цитата
nordk пишет:
Посмотрите для начала на УРОК 3 пункт 2 и на описание ко второму пакету версии 3.4.

Уже читаю.
Цитата
Алексей Новиков пишет:
Не торопитесь Виктор, вот выйдет версия 3.5, там разработчик опять упорядочит поддержку пользовательских решений и опять будем переписывать свои плагины под новый стандарт, потому что старый отключат. :-)

Это точно.
 
Ну Алексей зачем так то ?
На самом деле в 3.3 было сделано совершенно нелогично и не увязывалось с наследованием из БЭСТ-4+.
Теперь все стало на свои места и врядли этот стиль уже менять будут,
скорее улучшать.
 
Цитата
nordk пишет:
Ну Алексей зачем так то ?

Если бы наличествовала объективная (технологическая) необходимость для разработчика отказаться от поддержки пользовательских bdll и перейти на поддержку hrb, я бы понял. Но зачем отключать работающий механизм если нет объективных предпосылок. Переписал я в своё время с БЭСТ-4 на БЭСТ-5 3.3 массу доработок. А теперь, при переходе на 3.4, я должен свои bdll разобрать на файлики? Нет, я понимаю, работа не сложная. Но необходимая-ли?
С уважением, Новиков Алексей.
 
Скорее ошибка была в том, что перегонять заставили наработки в 3.3 в такой вид bdll. (Наверно это одна из причин почему мы на 3.3 не переводили наших клиентов.) Ну был, к сожалению, период, когда для разработки плагинов платформа разрабатывалась и был дан некий инструментарий как есть.
Речь даже не об отказе от BDLL, а от принципов работы с ней, принятых в 3.3.
Сейчас пользовательская bdll поддерживаться будет все равно. Одно то, что
новый интерфейс именно в bdll рисуем говорит об этом.
И разбирать на файлики не надо. Речь про то, что новые решения можно
теперь и через hrb делать, а пользовательская bdll в варианте от 3.3
будет одна с одним конкретным именем. А новые уже принимайте решение как будете делать, если пункт меню - то пожалуйста и я об этом написал, чтобы Ваши индексы и базы поддерживать кладите их в соответствующее место. Если на события, то новые можете на hrb делать.
 
Добрый день!
Цитата
nordk пишет:
А новые уже принимайте решение как будете делать, если пункт меню - то пожалуйста и я об этом написал, чтобы Ваши индексы и базы поддерживать кладите их в соответствующее место. Если на события, то новые можете на hrb делать.

Подскажите, пожалуйста, а какие конструкции прочтения плагинов понимают шаблоны типовых операций в версии Б-5_34 (речь идет о полях Шифр анал.учета и Алгоритм прочтения суммы)?
У меня проходит ТОЛЬКО старый вариант: FileEval("имя плагина",{список параметров}).
Можно ли сразу восспользоваться резултатами компиляции?
 
Во-первых, можно написать заглушку в виде файла 'prg', который будет содержать строку вида "hfileeval('001.hrb')".
Во-вторых, можно прописать нужное выражение непосредственно в поле algoritm.

Проблема, возможно, кроется в процедуре проверки валидности введённой формулы. Проверка не знает о существовании функции hfileeval().
С уважением, Новиков Алексей.
 
Цитата
Алексей Новиков пишет:
Во-вторых, можно прописать нужное выражение непосредственно в поле algoritm.

Проблема, возможно, кроется в процедуре проверки валидности введённой формулы. Проверка не знает о существовании функции hfileeval().

Непосредственно в поле таблицы прописать hfileeval('001.hrb')? Я правильно, понял?
 
Да.
С уважением, Новиков Алексей.
 
Цитата
Виктор Балановский пишет:
Добрый день!




Цитата

nordk пишет:
А новые уже принимайте решение как будете делать, если пункт меню - то пожалуйста и я об этом написал, чтобы Ваши индексы и базы поддерживать кладите их в соответствующее место. Если на события, то новые можете на hrb делать.
Подскажите, пожалуйста, а какие конструкции прочтения плагинов понимают шаблоны типовых операций в версии Б-5_34 (речь идет о полях Шифр анал.учета и Алгоритм прочтения суммы)?
У меня проходит ТОЛЬКО старый вариант: FileEval("имя плагина",{список параметров}).
Можно ли сразу восспользоваться резултатами компиляции?


Да можно. Вы через FileEval можете прописать hrb файл
Он прекрасно стартует.
Я еще в БЭСТ-4 изучая исходник FileEval изучая его исходник что он
по расширению прекрасно понимает что за файл и стартует его как
надо.
И дальше можете применять как в поле формулы, так и в поле аналитика
 
Цитата
nordk пишет:
Я еще в БЭСТ-4 изучая исходник FileEval изучая его исходник что онпо расширению прекрасно понимает что за файл и стартует его какнадо.

К сожалению, это не так. Сама по себе функция fileeval() не занимается определением типа содержимого файла. За одним исключением, но оно не относится к предмету разговора.
Возможно, что Вы имеете в виду запуск из реестра по ctrl-F5.
С уважением, Новиков Алексей.
 
Добрый день!
Цитата
Алексей Новиков пишет:
Во-первых, можно написать заглушку в виде файла 'prg', который будет содержать строку вида "hfileeval('001.hrb')".

Воспользовался первым вариантом. После чего вышел еще на одну проблему перехода.
Конструкция FileEval("namefile.prg",{список параметров})позволяла "экономить" на плагинах, в случае однородных задач, путем задания разных значений параметров. Запускать, аналогичным образом, с параметрами hrb до сих пор как-то нужды не было.
Вопрос.
Возможно ли это? Если да, то как это прописать в заглушке?
Уточняю, в проводках запускаем конструкцию FileEval("namefl2.prg",{список параметров}), а заглушка имеет вид:
HFileEval("namefl1.hrb")
Return Nil
Заранее спасибо за ответ
 
Запуск fileeval производите так:
Код
fileeval('namefl2.prg',{'1','1','1'})

В теле заглушки надо написать так:
Код
hfileeval('namefl1.hrb',{aPars[1],aPars[2],aPars[3]})

И никаких return nil, если Вы хотите, чтобы значение, возвращаемое hrb, вернулось обратно по цепочке.

Если количество параметров у вас переменное, то в prg можно воспользоваться конструкциями вида:
Код
Private param1, param2, param3
if left(type('apars[1]'),1)<>'U'
  param1:=apars[1]
endif
if left(type('apars[2]'),1)<>'U'
  param2:=apars[2]
endif
if left(type('apars[3]'),1)<>'U'
  param3:=apars[3]
endif

hfileeval('namefl1.hrb',{param1,param2,param3})
С уважением, Новиков Алексей.
Страницы: 1 2 След.
Читают тему (гостей: 3)