On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 1
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 15.12.06 17:49. Заголовок: Как начать с Харбором?


Товарищи, кто может помочь? Не работает программа вообще (сама проще некуда). Т.е. работает в досовском режиме (ilink32 с ключом /ар и с с0х32.lib), а в виндовом режиме виснет (если запускать просто) или ничего не делает (если через start). Ничего не делает не только на экране, но и с файлами (в досовском режиме делает).
Ни harbour, ни bcc32, ни ilink32 не ругаются, но вот такая ерунда. Очень буду благодарен.

Спасибо: 0 
Профиль
Ответов - 5 [только новые]


модератор




Пост N: 378
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 15.12.06 18:29. Заголовок: Re:


AM пишет:

 цитата:
Т.е. работает в досовском режиме


Первая поправка - программа работает не в "досовском", а в консольном режиме, поскольку является полноценным 32-разрядным приложением.
Теперь по существу: для создания графического (то бишь виндового) интерфейса Вы должны использовать библиотеку GUI.


Спасибо: 0 
Профиль



Пост N: 2
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 18.12.06 10:47. Заголовок: Re: [Re:gfilatov]



gfilatov пишет:

цитата:
для создания графического (то бишь виндового) интерфейса Вы должны использовать библиотеку GUI.

Прошу прощения, не понял! Я же использую CW32.lib (а также C0w32.obj) при сборке. Также включаю в список на всякий случай ВСЕ харборовские библиотеки из стандартной поставки (22 шт.). И потом, если чего не хватает, ilink32 должен ругаться, разве нет?



Спасибо: 0 
Профиль
модератор




Пост N: 380
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 18.12.06 15:25. Заголовок: Re:


AM пишет:

 цитата:
Прошу прощения, не понял!





Этот батник создает консольное 32-разрядное приложение на Харборе:

@echo off
rem ----------------------------------------------------------------------¬
rem ¦ this is a batch file for creating application with static libraries ¦-
rem ¦ how to use this batch file ¦-
rem ¦ example: make32 version ¦-
rem L-----------------------------------------------------------------------
rem -----------------------------------------------------------------------
set HARBOURDIR=c:\harbour
set HARBOURLIB=%HARBOURDIR%\lib
set HARBOUREXE=%HARBOURDIR%\bin\harbour.exe
set _PATH=%PATH%
set PATH=C:\BCC55\BIN;%PATH%
if "%1" == "" goto syntax
if not exist %1.prg goto noexist
if not exist %HARBOUREXE% goto noharbour
if exist %1.exe del %1.exe
if exist %1.c del %1.c
%HARBOUREXE% %1 %2 %3 /n /i%HARBOURDIR%\include
echo -DHB_STATISTICS_OFF -d -OS -O2 -I%HARBOURDIR%\include -L%HARBOURLIB% -e%1.exe %1.c > bld.tmp
echo common.lib >> bld.tmp
echo dbfntx.lib >> bld.tmp
echo dbffpt.lib >> bld.tmp
echo hbsix.lib >> bld.tmp
echo debug.lib >> bld.tmp
echo gtwin.lib >> bld.tmp
echo macro.lib >> bld.tmp
echo pp.lib >> bld.tmp
echo rdd.lib >> bld.tmp
echo rtl.lib >> bld.tmp
echo vm.lib >> bld.tmp
echo lang.lib >> bld.tmp
bcc32 @bld.tmp
if exist bld.tmp del bld.tmp
if exist %1.c del %1.c
if exist %1.obj del %1.obj
if exist %1.bak del %1.bak
if exist %1.tds del %1.tds
if exist %1.exe dir %1.exe
if exist %1.exe echo.
if exist %1.exe echo %1.exe succesfully built
if exist %1.exe echo.
goto end

:syntax
echo.
echo Syntax: make32 program [ do not specify prg extension ]
echo.
goto end

:noexist
echo.
echo Cannot find %1.prg file
echo.
goto end

:noharbour
echo.
echo Cannot find Harbour.exe
echo.
goto end

:end
set PATH=%_PATH%
set _PATH=
set HARBOUREXE=
set HARBOURLIB=
set HARBOURDIR=

А этот - полноценное Win32-приложение, используя библиотеку графического интерфейса MiniGUI:

@echo off

set HB_INSTALL=c:\minigui\harbour
set BC_INSTALL=c:\bcc55
set MG_INSTALL=c:\minigui

%HB_INSTALL%\bin\harbour %1.prg -n -i%HB_INSTALL%\include;%MG_INSTALL%\include; %2 %3

%BC_INSTALL%\bin\bcc32 -DHB_API_MACROS -c -O2 -OS -tW -I%HB_INSTALL%\include; %1.c

if exist %1.rc %BC_INSTALL%\bin\brc32 -r %1.rc

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %MG_INSTALL%\lib\minigui.lib + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtgui.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\rdd.lib + >> b32.bc
echo %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
echo %HB_INSTALL%\lib\dbffpt.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbsix.lib + >> b32.bc
echo %HB_INSTALL%\lib\common.lib + >> b32.bc
echo cw32.lib + >> b32.bc
echo import32.lib, >> b32.bc

if exist %1.res echo %1.res >> b32.bc

%BC_INSTALL%\bin\ilink32 -Gn -aa -Tpe @b32.bc

del *.tds
del %1.c
del %1.map
del %1.obj
del b32.bc
del %1.res

Отличия найди сам

Спасибо: 0 
Профиль



Пост N: 3
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 18.12.06 18:25. Заголовок: Re: [Re:gfilatov]


Да, вроде работает, хотя библиотек пришлось добавить. Спасибо. Хотя ведь вроде у Кресина Minigui не упоминается, как-то можно было и без неё, но неважно.

Спасибо: 0 
Профиль
модератор




Пост N: 381
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 18.12.06 18:44. Заголовок: Просто замечание


AM пишет:

 цитата:
у Кресина Minigui не упоминается


Поскольку Александр Кресин использует собственную GUI-библиотеку HWGUI


Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 78
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет