Форум » [x]Harbour » Перевожу Clipper на консольный Харбор » Ответить
Перевожу Clipper на консольный Харбор
MIKHAIL: Добрый день, уважаемое сообщество! Перехожу на Харбор, собрал программу, начинаю бороть ошибки несовместимости кода, по мере появления вопросов надеюсь на скорую помощь. Заранее всем участникам огромное спасибо!
MIKHAIL: Не полностью выдает детализацию ошибки, а именно номер строки ошибки. Выводит только номер строки функции где произошла ошибка. Как подправить?
Dima: MIKHAIL пишет: Не полностью выдает детализацию ошибки Покажи на простом примере , что имеется в виду.
MIKHAIL: Dima пишет: Покажи на простом примере , что имеется в виду. -------------------- Internal Error Handling Information --------------------- Subsystem Call ....: BASE System Code .......: 1133 Default Status ....: .F. Description .......: Bound error Operation .........: array assign Arguments .........: [ 1] = Type: N Val: 14 Involved File .....: Dos Error Code ....: 0 Trace Through: ---------------- LOGERROR : 0 in Module: xhb\xhberr.prg MAGAZIN : 432 in Module: magazin.prg Строка 432 это ссылка на функцию, в которой тоже несколько тысяч строк кода, где собственно и происходит ошибка.
Dima: MIKHAIL Да вроде все красиво. [pre2] Proc main Test() return ************* Func Test() local a:={} a[1]:=1 return nil [/pre2] Вывалило у меня так [pre2] Error BASE/1133 Bound error: array assign Called from TEST(7) Called from MAIN(2) [/pre2]
PSP: MIKHAIL, у тебя - xHarbour. Видимо, собран с опцией "suppress line numbers". Вот отсюда нули в модулях самого xHarbour
MIKHAIL: Dima Так дело в том что иногда отображает номер строки ошибки, а иногда нет. т.е. некоторые ошибки такие как: i:=1 len(i) выведет правильно номер строки, а такую: i:=1 ? i[1] не выводит.
Sergy: Судя по выкладке, используется нестандартный обработчик ошибок. Попробуйте на время тестирования заменить xhb/xhberr.prg на простой и дубовый errorsys.prg из дистрибутива и посмотреть на его результаты.
MIKHAIL: Sergy пишет: на простой и дубовый errorsys.prg из дистрибутива Я чего то не могу найти его в дистрибутиве. Может по другому называется? Пробовал от Clipper прикомпоновать, но он не замещает почему то встроенный. Что для этого нужно сделать ? Мне по сути нужно лог ошибок сохранять.
Dima: MIKHAIL пишет: Может по другому называется? ERRSYS.PRG теперь
MIKHAIL: Где можно взять или приобрести Fastreport ?
PSP: MIKHAIL пишет: Где можно взять или приобрести Fastreport ? FastReport сделал Сергей Спирин, который несколько лет назад умер. Так что, видимо, купить уже негде.
Dima: PSP пишет: Так что, видимо, купить уже негде У нас на форуме еще есть добрые джентльмены , которые думаю поделятся бесплатно.
petr707: Fastreport , строго говоря, это несколько другое. Сергей предоставлял FRH библиотеку-обертку для Harbour для работы с FastReport VCL Сам FastReport убежал вперед. Были еще попытки сделать Fastreport for Harbour , например click here FastReport for [x]Harbour. Libraries to manage FastReport from Harbour and xHarbour and on any GUI framework or even in console mode. FastReport vesion 4.15
MIKHAIL: Какими средствами можно перехватывать все нажатия клавиш и экранного вывода в консольном приложении?
Dima: MIKHAIL пишет: Какими средствами можно перехватывать все нажатия клавиш hb_gtInfo( HB_GTI_INKEYFILTER.....
MIKHAIL: Использую библиотеку FreeImage, все работало, добавил некоторые функции, Харбор их не видит: fi_GetFIFFromFilename и fi_FIFSupportsReading что нужно сделать ?
MIKHAIL: Можно ли в консольной версии расширить палитру стандартных цветов?
Dima: MIKHAIL Думаю нет (ИМХО)
MIKHAIL: Как можно подключить сторонюю библиотеку DLL ? Пробовал hb_LibLoad("payCEB.dll") Она возвращает пустой результат, т.е. не загружается. В описании библиотеки написано - Стандарт вызова функций: stdcall
nick_mi: Как то пробовал напрямую включать dll в HBMK и все нормально собралось и отработало.
полная версия страницы