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

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

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

Ответов - 149, стр: 1 2 3 4 5 6 7 8 All

Dima: MIKHAIL hb_DynCall Например [pre2] #include "hbdyn.ch" FUNCTION MAIN(cSource, cDest) hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 ) RETURN NIL [/pre2]

MIKHAIL: Dima пишет: hb_DynCall( { "CopyFileA", "kernel32.dll", HB_DYN_CALLCONV_STDCALL }, cSource, cDest, 0 ) А эта функция возвращает ответ вызываемой функции? И как обрабатывать ошибки?

Dima: Да что то возвращает. https://github.com/vszakats/harbour-core/blob/master/tests/dynwin.prg

Mitek: Занялся переносом на консольный xHarbour средних размеров проекта( ~ 800к исходников). Не находит 11 функций из состава СT NNETLOGGED NNETCAPACT NNETSETQ NNETCAPSSF NNETCAPBEG SPOOLACTIV SPOOLADD PRINTINIT BIOSDATE STACKFREE FILECHECK На что можно заменить или где взять более полную библиотеку ? Поиск по либам как советовали в теме http://clipper.borda.ru/?1-4-0-00000255-000-0-0-1334307608 не приносит результатов за исключением функции STACKFREE которая находитмя в vm.lib vm.lib у меня и до поиков линкновалась Версия xHarbour xHarbour Binaries 1.2.3 Rev. 10193 for BCC 5.5.1

PSP: Mitek пишет: Занялся переносом на консольный xHarbour А почему не Harbour?

Mitek: PSP пишет: А почему не Harbour? А собственно просто уже лет этак много xHarbour пользую но до сего древнейшего проекта все руки не доходили. Но собственно сути это не меняет... на harbour без X в оригинальных поставках я этих функций тоже не вижу... например в harbour-3.0.0-win Пока в голову только идет переопределить SPOOLACTIV - #xtranslate SPOOLACTIV()=> .F. SPOOLADD - #xtranslate SPOOLADD()=> .F. BIOSDATE почитать из реестра - #xtranslate BIOSDATE()=>CTOD ( GetRegistry(, 'HARDWARE\Description\System\BIOS', 'BIOSReleaseDate' ) ) ну или для Harbour - #xtranslate BIOSDATE()=> CTOD( win_regRead( "HKLM\HARDWARE\Description\System\BIOS\BIOSReleaseDate" ) ) STACKFREE - #xtranslate STACKFREE()=> 1000000 FILECHECK через md5 - #xtranslate FILECHECK(<cFileName>) => HB_MD5FILE(<cFileName>) Что делать с остальными пока не думал ... Просто типа размечтался что может кто подскажет где уже опробованные качнуть

PSP: В harbour есть библа hbct. Посмотрите.

Mitek: PSP Да смотрел я на эту библу еще пару лет назад и что . Нет там этих функций собственно так же как и в ее аналоге от xHarbour - CT.lib

PSP: А так уж эти функции все нужны? К примеру, NNet* предназначены для работы с Novell Netware. У вас используется сервер Novell Netware? Функция SPOOLACTIV - что-то связанное с печатью в DOS. Надо? Ну и т.д. Придется вам слегка код поправить.



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