Автор | Сообщение |
|
| |
Пост N: 86
Зарегистрирован: 08.07.06
|
|
Отправлено: 11.08.13 18:47. Заголовок: Перехожу с Clipper 5.2e на Harbour, список вопросов от "новичка"
Добрый день, уважаемые коллеги. Большое спасибо за море справочной информации по переходу, но нужно ещё пнуть меня в нужном направлении. Итак, установил Harbour 3.0 + BCC 5.5.1 ==>> 3.2.0 +minGW скомпилировал и запустил традиционный "Hello, world!" Дело перешло к проекту, из-за которого собственно и речь. Компилируется что через hbmk2, что самим харбором - без ошибок, всего с парой предупреждений, что меня немало удивило. Возникли ошибки на этапе линковки: Скрытый текст Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_FUN_ENVPARAM' referenced from D:\HB\TRADE100.OBJ Error: Unresolved external '_HB_FUN_INKEYTRAP' referenced from D:\HB\TRADE226.OBJ Error: Unresolved external '_HB_FUN_DISKFREE' referenced from D:\HB\TRADE222.OBJ Error: Unresolved external '_HB_FUN_DISKTOTAL' referenced from D:\HB\TRADE222.OBJ Error: Unresolved external '_HB_FUN_BIOSDATE' referenced from D:\HB\TRADE.OBJ Error: Unresolved external '_HB_FUN_FT_ONTICK' referenced from D:\HB\TRADE.OBJ Error: Unresolved external '_HB_FUN_FT_ONIDLE' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_FT_IAMIDLE' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_TRAPANYKEY' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_KEYSEND' referenced from D:\HB\TRADE200.OBJ 1) Так понимаю, это ошибки из-за того, что не находятся некоторые функции из активно используемых CT3/Nanforum Toolkit ? Что делать с ними ? Отказываться ? Или есть заменители ? Error: Unresolved external '_HB_FUN_STACKFREE' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLILOCUSE' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLILOCAVL' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLILOCTOT' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLISTCUSE' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLISTCAVL' referenced from D:\HB\TRADE200.OBJ Error: Unresolved external '_HB_FUN_BLISTCTOT' referenced from D:\HB\TRADE200.OBJ 2) Это - ошибки из-за вызовов встроенных в Blinker функций, без них легко обойтись в принципе... Error: Unresolved external '_HB_FUN_STRNUM2ARRAY' referenced from D:\HB\TRADE208.OBJ Error: Unresolved external '_HB_FUN_CMJS_EXTRACTPARAMS' referenced from D:\HB\TRADE206.OBJ Error: Unresolved external '_HB_FUN_SELECTSTOCKS' referenced from D:\HB\TRADE220.OBJ Error: Unresolved external '_HB_FUN_APPLYSERTCHAGES' referenced from D:\HB\TRADE221.OBJ Error: Unresolved external '_HB_FUN_APPLYCARGOCHAGES' referenced from D:\HB\TRADE221.OBJ Error: Unresolved external '_HB_FUN_APPLYPRICECHAGES' referenced from D:\HB\TRADE221.OBJ 3) А вот это - самое странное - это мои функции, причем некоторые из них вызываются многократно из других модулей. Например ApplyCargoChanges является STATIC в самом модуле TRADE221 - почему линковщик ее не видит, наряду с парой Apply... других ? SelectStocks активно используется в других модулях - но там линкер почему-то ошибок не видит...
| Help, please - что делать и куды бечь ?
|
 |

|
Ответов - 291
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 416
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.09.14 21:57. Заголовок: Sergy еще глянь tes..
Sergy еще глянь test\wvtext.prg, может понравится
|
 |

|
|
| |
Пост N: 4209
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.09.14 18:03. Заголовок: Sergy пишет: Может ..
Sergy пишет: цитата: | Может быть, где-то есть готовый список ? |
| Скорее всего его нет а шрифты лучше брать моноширинные.
|
 |

|
|
| постоянный участник
|
Пост N: 3633
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.09.14 18:38. Заголовок: Я сделал функцию для..
|
 |

|
|
| |
Пост N: 413
Зарегистрирован: 08.07.06
|
|
Отправлено: 16.09.14 12:50. Заголовок: Andrey пишет: Я сде..
Andrey пишет: цитата: | Я сделал функцию для пользователей - выбор шрифта. |
| Спасибо за пример.
|
 |

|
|
| |
Пост N: 414
Зарегистрирован: 08.07.06
|
|
Отправлено: 16.09.14 12:51. Заголовок: SergKis пишет: еще ..
SergKis пишет: цитата: | еще глянь test\wvtext.prg, может понравится |
| Там 4 "импортных" моноширинных шрифта. Нужны "отечественные". Может кто использует ещё что-то, кроме перечисленных.
|
 |

|
|
| постоянный участник
|
Пост N: 345
Зарегистрирован: 27.07.08
|
|
Отправлено: 24.05.24 13:37. Заголовок: Итак, начинаю портир..
Итак, начинаю портировку DOS Clipper программы на MiniGUI+Harbour+BCC58. В HbIDE создал проект, напихал туда все многочисленные PRG исходника, поставил птички перед ADS и консольным режимом, прописал адреса библиотек и заголовков от старой проги, где было, в частности, про поддержку ADS и нате -- выдаёт ошибку. Команда BEGIN TRANSACTION...END TRANSACTION ему не нравится. Эта команда имеет отношение к ADS и содержится в файле ADS.CH в xHarbour. А в Harbour она где? Или брать заголовок от Clipper DBFCDXAX.CH, где эта команда также содержится? Upd: Попробовал также с xHarbour. Там ADS.CH присутствует, но дальше выяснилось, что досовская библиотека пользовательских функций, созданная моими предшественниками, упорно не желает линковаться с xHarbour. Скажите, пожалуйста, как прилинковать ту библиотеку XYZ.LIB (Clipper52, Blinker) под Harbour или xHarbour? Обязательно ли её перелинковывать из исходников (если они есть) под (x)Harbour?
|
 |

|
|
| постоянный участник
|
Пост N: 4575
Зарегистрирован: 17.02.12
|
|
Отправлено: 24.05.24 17:14. Заголовок: Dr. Oldwarez пишет н..
Dr. Oldwarez пишет цитата: | начинаю портировку DOS Clipper программы на MiniGUI+Harbour+BCC58 |
| Вы слишком торопитесь. Clipper 16 разрядный, hb 32, 64. Пересобирать придется все либы. Какой ADS брать, подскажут кто с ним работает. У вас консоль, а MiniGUI это gui интерфейс. цитата: | выяснилось, что досовская библиотека пользовательских функций, созданная моими предшественниками, упорно не желает линковаться |
| Ее надо переводить, возможно, что то пересобирать код в hb. C код, наверно, надо будет править. Когда переводил clipper систему (бухгалтерия) на hb 2.0 не так все просто было (многое было в VO), заняло почти год. Начните с простой консольной программы
|
 |

|
|
| moderator
|
Пост N: 1614
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.05.24 20:12. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Команда BEGIN TRANSACTION...END TRANSACTION ему не нравится. |
| ads.ch находится в harbour/contrib/rddads Досовская библиотека, безусловно, линковаться не будет. Надо пересобрать из исходников.
|
 |

|
|
| постоянный участник
|
Пост N: 346
Зарегистрирован: 27.07.08
|
|
Отправлено: 27.05.24 08:36. Заголовок: SergKis пишет: Ее н..
SergKis пишет: цитата: | Ее надо переводить, возможно, что то пересобирать код в hb. C код, наверно, надо будет править. Когда переводил clipper систему (бухгалтерия) на hb 2.0 не так все просто было (многое было в VO), заняло почти год. Начните с простой консольной программы |
| К счастью, С-шного кода там, вроде нет. Тогда просто подскажите, как из исходников PRG собрать LIB, а не EXE. Что надо в HBMK2 указывать? Насчёт консольного режима согласен с вами. Первый этап -- консольный старый интерфейс с выскакивающим виндовым FastReport для печати красивых отчетов с картинками в формат PDF и дополнительной PRG для работы с XML безбумажного документооборота на вывод и чтение. А потом уже MiniGUI займусь, когда времени больше станет.
|
 |

|
|
| постоянный участник
|
Пост N: 4580
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.05.24 10:48. Заголовок: Dr. Oldwarez пишет к..
Dr. Oldwarez пишет цитата: | как из исходников PRG собрать LIB |
| Собираю по старинке lib.exe или tlib.exe, т.е. hbmk2 отлаживаю сборку exe (каталог OBJ имеем), когда все ok!, запускаю if exist %LCT%\%LNM%.lib Del %LCT%\%LNM%.lib > nul for %%d in ( %O%\*.obj ) Do %VC%\BIN\lib.exe /OUT:%LCT%\%LNM%.lib +%%d > nul удалив obj с FUNCTION MAIN(), потом lib идет в общий проект. Это схема, т.к. все у меня проделывает своя программа ведения проектов, в ней hbmk2 не используется, все на bat файлах.
|
 |

|
|
| постоянный участник
|
Пост N: 348
Зарегистрирован: 27.07.08
|
|
Отправлено: 27.05.24 16:15. Заголовок: SergKis пишет: Соби..
SergKis пишет: цитата: | Собираю по старинке lib.exe или tlib.exe, т.е. hbmk2 отлаживаю сборку exe |
| Я вот взял исходники, поставил /dHARBOUR, чтобы компилятор знал, с чем имеет дело, накатал длиннючий список. Всё, вроде бы, в порядке, но нет -- постоянно вылазит F0002 Redefinition of function or procedure. При прописывании непокорной функции в другую PRG, она начинает уже проскакивать и F0002 вылазит ещё через несколько функций. Как эту ошибку подавить? Есть ли тут аналог #pragma_once?
|
 |

|
Ответов - 291
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|