Форум » FiveWin » Ньюансик ...:))) » Ответить

Ньюансик ...:)))

MMK: Может кому пригодится... При работе с FWH 2.5 и ниже + последние версии хХарбора могут (будут) возникнуть проблемы. Т.е. ошибочка типа Error: Unresolved external '_hb_stack' referenced from \LIB\FIVEHC.LIB Поправить ситуацию можно заменив эту библиотеку на более свежую. При положительном решении этой проблемы :)) возникает следующая: Error: Unresolved external '_HB_FUN_GETFREESYSTEMRESOURCES' .... Решается добавлением в пр-му следующего - function GetFreeSystemResources() Return 90 И еще, в main процедуре добавляй две таких строчки OVERRIDE METHOD DispBegin IN CLASS TWindow WITH DspBgn OVERRIDE METHOD DispEnd IN CLASS TWindow WITH DspEnd и в конце програмки function DspBgn() return( NIL ) function DspEnd() return( NIL )

Ответов - 6

Pasha: Спасибо, пригодится Я fwh 2.4 лечил по-другому: харбор собирал с макросом: #define hb_stackST hb_stack

MMK: Не уверен , что там нет и других болячек :( Ну и еще чуток. При стандартной сборке к примеру работает ф-я DIRECTORYRECURSE( "C:\WINDOWS\*.*" ) Но не отрабатывает :) Т.е. возвращает 0 Пришлось вешать все . Ну и порядок сборки, чтоб не было утечки памяти. Это ты знаешь:))) К примеру: echo Themes.obj + > b32.bc echo c0w32.obj + > b32.bc echo %1.obj, + >> b32.bc echo %1.exe, + >> b32.bc echo %1.map, + >> b32.bc echo C:\Fwh\lib\sbrowsex.lib + >> b32.bc echo C:\Fwh\lib\sbuttonx.lib + >> b32.bc echo C:\Fwh\LIB\TWBRW32X.LIB + >> b32.bc echo C:\Fwh\lib\richtext.lib + >> b32.bc echo c:\fwh\lib\FiveHx.lib + >> b32.bc echo c:\fwh\lib\FiveHC.lib + >> b32.bc echo %hdir%\lib\optgui.lib + >> b32.bc echo %hdir%\lib\lang.lib + >> b32.bc echo %hdir%\lib\vm.lib + >> b32.bc echo %hdir%\lib\rtl.lib + >> b32.bc echo %hdir%\lib\rdd.lib + >> b32.bc echo %hdir%\lib\macro.lib + >> b32.bc echo %hdir%\lib\pp.lib + >> b32.bc echo %hdir%\lib\dbfntx.lib + >> b32.bc echo %hdir%\lib\dbfcdx.lib + >> b32.bc echo %hdir%\lib\dbffpt.lib + >> b32.bc echo %hdir%\lib\common.lib + >> b32.bc echo %hdir%\lib\gtwin.lib + >> b32.bc echo %hdir%\lib\codepage.lib + >> b32.bc echo %hdir%\lib\ct.lib + >> b32.bc echo %hdir%\lib\tip.lib + >> b32.bc echo %hdir%\lib\pcrepos.lib + >> b32.bc echo %hdir%\lib\hsx.lib + >> b32.bc echo %hdir%\lib\hbsix.lib + >> b32.bc echo %bcdir%\lib\cw32.lib + >> b32.bc echo %bcdir%\lib\import32.lib, >> b32.bc

Pasha: Хлопцы optgui уже убрали, вместо нее какая-то другая библиотека Но утечку памяти она не ликвидирует, только блокирует сбор статистики выделений-освобождений памяти, и получается внешне все нормально, но память утекает Но зато без сбора этой статистики программа работает чуть быстрее


MMK: Pasha пишет: цитатаНо утечку памяти она не ликвидирует, только блокирует сбор статистики Жаль что не делает, ручками это делать "дурнее" А что вместо optgui ?

Pasha: Вместо нее вводится библиотека, содержащая только модуль fc.c с флагом не собирать статистику выделения памяти Но изменения пока сделаны только в юниксовых и др. Makefile, в виндозных (и bcc) еще нет. druzus предлагает их тоже изменить. Библиотека будет называться fmstat, или libfmstat Я еще не совсем разобрался. optcon и optgui содержали модули, блокирующие сбор статистики по памяти и профайлер, а optgui еще дополнительно что-то блокировал для дебаггера. Теперь непонятно как будет с профайлером, хотя я даже не знаю как его использовать

Pasha: А зачем надо переопределять DispBegin/DispEnd ? Вроде бы все работает и с ним И еще, мне в Dialog.prg пришлось в методе SysCommand забить строки: // if nWParam == SC_CLOSE .and. ::lModal // return .f. // endif Иначе не работает кнопка закрытия окна



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