On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 126
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.06 11:06. Заголовок: Опять про DLL


Опять поднимаю вопрос об DLL.
Хочу использовать harbour.dll, взял создал тестовую программу,
"скормил" её hbmake, указал там [x] use xHarbour[.dll|.so]
И не собирается. Выдает следующее сообщение:

Z:\BCC55\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_main' referenced from Z:\BCC55\LIB\C0X32.OBJ

Подскажите, где че нужно подправить в скрипте.

Мой скрипт test.bc такой:
#BCC
VERSION=BCB.01
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif

!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif

RECURSE= NO

COMPRESS = NO
EXTERNALLIB = NO
XFWH = NO
FILESTOADD = 5
WARNINGLEVEL = 0
USERDEFINE =
USERINCLUDE =
GUI = NO
MT = NO
SRC02 = obj
PROJECT = test.exe $(PR)
OBJFILES = $(SRC02)\TEST.obj $(OB)
PRGFILES = TEST.PRG $(PS)
OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE = TEST.PRG
LIBFILES = harbour.lib optcon.lib
EXTLIBFILES =
DEFFILE =
HARBOURFLAGS = -w0
CFLAG1 = -OS $(CFLAGS) -d -c -L$(HB_DIR)\lib
CFLAG2 = -I$(HB_DIR)\include;$(CC_DIR)\include
RFLAGS =
LFLAGS = -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -ap
IFLAGS =
LINKER = ilink32

ALLOBJ = c0x32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
.autodepend

#DEPENDS

#COMMANDS
.cpp.obj:
$(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**

.c.obj:
$(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $**

.prg.obj:
$(HB_DIR)\bin\harbour -D__EXPORT__ -n -go -I$(HB_DIR)\include $(HARBOURFLAGS) -o$* $**

.rc.res:
$(CC_DIR)\BIN\brcc32 $(RFLAGS) $<

#BUILD

$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(CC_DIR)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!



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


Администратор




Пост N: 413
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.12.06 16:17. Заголовок: Re:


вместо c0x32.obj надо прилинковать c0w32.obj


Спасибо: 0 
Профиль
постоянный участник




Пост N: 131
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.06 20:07. Заголовок: Re:


А каким образом можно вызывать другие DLL, т.е. операторы подключения или вызовов ?
И можно ли использовать DLL написанные на других языках, в частности на Delphi ?
Покажите какой-нибудь пример.
Спасибо заранее за подсказку.

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




Пост N: 360
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 04.12.06 20:37. Заголовок: Re:


Andrey пишет:

 цитата:
Покажите какой-нибудь пример.


В MiniGUI мы делаем это так:

#include "minigui.ch"

Function Main

DEFINE WINDOW Win_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 400 ;
TITLE 'Hello World!' ;
MAIN

DEFINE MAIN MENU
DEFINE POPUP 'Test'
MENUITEM 'Copy file' ACTION ( IF( COPYFILE ( "sample.wav" , "sample2.wav", 1 ) == 1, ;
MsgInfo("File is copied"), MsgStop("File is exist") ) )
END POPUP
END MENU

END WINDOW

ACTIVATE WINDOW Win_1

Return

DECLARE DLL_TYPE_BOOL CopyFileA( DLL_TYPE_LPCSTR cExistingFileName, DLL_TYPE_LPCSTR cNewFileName, DLL_TYPE_LONG lFailIfExists ) ;
IN KERNEL32.DLL ;
ALIAS COPYFILE ;
FLAGS DC_BORLAND

Этот пример показывает использование системной функции копирования, которая находится в системной библиотеке KERNEL32.DLL

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




Пост N: 498
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.12.06 21:25. Заголовок: Re:


Andrey пишет:

 цитата:
И можно ли использовать DLL написанные на других языках, в частности на Delphi ?



gfilatov
похоже тут не получится.......или я не прав ? ;)

Спасибо: 0 
Профиль
постоянный участник




Пост N: 133
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.06 22:17. Заголовок: Re:


Как так не получиться, почему системные DLL можно использовать, а на Дельфи или С нельзя ?

Спасибо: 0 
Профиль
постоянный участник




Пост N: 134
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.06 23:39. Заголовок: Re:


Pasha пишет:

 цитата:
вместо c0x32.obj надо прилинковать c0w32.obj



Тогда выдает следующее
Error: Unresolved external 'winmain' referenced from Z:\BCC55\LIB\C0X32.OBJ

Что-то меня берет сомнение в правильности теста.
Поделитесь как использовать HARBOUR.DLL ?
Пример PRG и скрипта для HBMAKE (у меня проект на нем).


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





Пост N: 74
Зарегистрирован: 02.02.06
ссылка на сообщение  Отправлено: 05.12.06 00:57. Заголовок: Re:


Andrey пишет:

 цитата:
Error: Unresolved external 'winmain' referenced from Z:\BCC55\LIB\C0X32.OBJ



У тебя опять используется C0X32.OBJ

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




Пост N: 415
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 05.12.06 11:10. Заголовок: Re:


Я hbmake не использую, но судя по всему она работает некорректно в некоторых случаях
Цепляет не тот модуль иницализации. Я не разбирался в отличиях c0w32, c0d32, c0x32,
во всех режимах: для интерфейса gui или tui, с dll или без использую c0w32. Может я неправ, подскажите
Для использовавания harbour.dll надо кроме harbour.lib еще линковать dllmain.lib, тогда не будет ошибки с winmain

Привожу свои батники для сборки в режиме tui

*************** файл setdir.bat

set HB_INSTALL=d:\xharbour
set FWH_INSTALL=d:\fwh
set BCC_DIR=d:\bcc55

rem мои либы
set APP_DIR=e:\ts\app.lib
set SRV_DIR=e:\ts\clip50.lib

set OBJ_DIR=d:\temp\obj32

IF not "%_UI%" == "w" goto :dos
IF "%_DLL%" == "" set EXE_DIR=e:\exe\win32
IF "%_DLL%" == "1" set EXE_DIR=e:\exe\win32d
goto :exit
:dos
IF "%_DLL%" == "" set EXE_DIR=e:\exe\con32
IF "%_DLL%" == "1" set EXE_DIR=e:\exe\con32d
:exit

*************** файл cl.bat

if "%_PR%" == "" set _DEF_=

if not "%2" == "" set OBJ_FILE=%2
if "%OBJ_FILE%" == "" set OBJ_FILE=%1

if "%_DEBUG_%" == "" goto :nodebug
set _DOPT_=-b
goto :compl
:nodebug
set _DOPT_=-l
:compl

IF not "%_UI%" == "w" goto :dos
%HB_INSTALL%\bin\harbour %PRG_DIR%\%1.prg -o%OBJ_DIR%\%OBJ_FILE%.c %_DOPT_% -n -w -d_fw -d%UMAC% -d_ver_52 %_DEF_% -i%HB_INSTALL%\include;%FWH_INSTALL%\include;%APP_DIR% >>__warn
%BCC_DIR%\bin\bcc32 -c -d -O2 -tW -M -o%OBJ_DIR%\%OBJ_FILE%.obj -I%BCC_DIR%\include;%HB_INSTALL%\include;%FWH_INSTALL%\include %OBJ_DIR%\%OBJ_FILE%.c
goto :exit

:dos
%HB_INSTALL%\bin\harbour %PRG_DIR%\%1.prg -o%OBJ_DIR%\%OBJ_FILE%.c %_DOPT_% -n -w -d%UMAC% -d_ver_52 %_DEF_% -i%HB_INSTALL%\include;%APP_DIR% >>__warn
%BCC_DIR%\bin\bcc32 -c -d -O2 -tW -M -o%OBJ_DIR%\%OBJ_FILE%.obj -I%BCC_DIR%\include;%HB_INSTALL%\include %OBJ_DIR%\%OBJ_FILE%.c

:exit
set OBJ_FILE=

*************** файл _one.bat

@echo off

call setdir.bat
set PRG_DIR=%2
set MAIN=%1

if not "%3" == "" set EXE_NAME=%EXE_DIR%\%3.exe

call cl %1

IF EXIST %MAIN%.rc brc32 -r %MAIN%

echo %BCC_DIR%\lib\c0w32.obj + > b32.bc
echo %OBJ_DIR%\%1.obj + >> b32.bc

IF "%_UI%" == "w" call buildw.bat
IF "%_UI%" == "d" call buildd.bat

*************** файл buildd.bat


if "%EXE_NAME%" == "" set EXE_NAME=%EXE_DIR%\%MAIN%.exe

echo ,%EXE_NAME%, + >> b32.bc
echo %MAIN%.map, + >> b32.bc
rem echo %HB_INSTALL%\lib\bcc640.lib + >> b32.bc
if "%_DLL%" == "1" goto :dll
rem мои либы
echo %SRV_DIR%\servhd.lib + >> b32.bc
echo %APP_DIR%\apphd.lib + >> b32.bc
goto :hbl
:dll
rem моя dll
echo %HB_INSTALL%\lib\hbgals.lib + >> b32.bc
rem стандартные dll
echo %HB_INSTALL%\lib\harbour.lib + >> b32.bc
echo %HB_INSTALL%\lib\dllmain.lib + >> b32.bc
goto :end
:hbl
echo %HB_INSTALL%\lib\pcrepos.lib + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\fmstat.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
if "%_WVT%" == "" echo %HB_INSTALL%\lib\gtwin.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtwvt.lib + >> b32.bc
echo %HB_INSTALL%\lib\wvtgui.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtnul.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\codepage.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\rdd.lib + >> b32.bc
echo %HB_INSTALL%\lib\rddads.lib + >> b32.bc
echo %HB_INSTALL%\lib\ace32.lib + >> b32.bc
echo %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
echo %HB_INSTALL%\lib\dbfcdx.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 %HB_INSTALL%\lib\debug.lib + >> b32.bc
echo %HB_INSTALL%\lib\pp.lib + >> b32.bc
echo %HB_INSTALL%\lib\ct.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbzip.lib + >> b32.bc
:end

echo %BCC_DIR%\lib\cw32.lib + >> b32.bc
echo %BCC_DIR%\lib\import32.lib, >> b32.bc
if "%RESFILE%" == "" goto :dele
if exist %RESFILE% echo %RESFILE% >> b32.bc
:dele
if exist %EXE_NAME% del %EXE_NAME%
%BCC_DIR%\bin\ilink32 -Gn -Tpe -L%BCC_DIR%\lib @b32.bc
rem if exist %EXE_NAME% d:\upx\upx -9 %EXE_NAME%
if not exist %EXE_NAME% pause

del %EXE_DIR%\*.tds
rem del %MAIN%.c
del %MAIN%.map
rem del %MAIN%.obj
del b32.bc

файл buildw.bat не привожу, т.к. там специфика fw

для сборки программы состоящей из одного модуля пишелся батник

call _one.bat <prgname без расширения> <dirname> [exename]

для сборки программы состоящей из нескольких модулей другой батник

*********** _rm.bat

@echo off

call setdir.bat
set PRG_DIR=e:\ts\rm
set MAIN=rm

call cl rm
call cl ord
call cl rep
call cl mbp

IF EXIST %MAIN%.rc brc32 -r %MAIN%

echo %BCC_DIR%\lib\c0w32.obj + > b32.bc
echo %OBJ_DIR%\rm.obj + >> b32.bc
echo %OBJ_DIR%\ord.obj + >> b32.bc
echo %OBJ_DIR%\rep.obj + >> b32.bc
echo %OBJ_DIR%\mbp.obj + >> b32.bc

IF "%_UI%" == "w" call buildw.bat
IF "%_UI%" == "d" call buildd.bat

Параметры сборки

_UI - пользовательский интерфейс (обязательно)

set _UI=d консольный интерфейс
set _UI=w графический интерфейс

Необязательные переменные

set _DLL=1 сборка в режиме с dll
set _DEBUG_=1 режим отладки

Каталоги для сборки установить в setdir.bat

Я закатал xHarbour и bcc55 и эти батники сборки себе на cdrw, и достаточно поправить каталоги в setdir.bat, чтобы собирать программы на любом компьютере с сидюка


Спасибо: 0 
Профиль
постоянный участник




Пост N: 136
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.06 01:44. Заголовок: Re:


Pasha пишет:

 цитата:
Для использовавания harbour.dll надо кроме harbour.lib еще линковать dllmain.lib, тогда не будет ошибки с winmain


Частично получилось. Собирается exe-ник нормально без предупреждений.
Запускаю его, даже на экран выводит, а далее по программе цикл с выводом
на экран и выскакивает окно:
"Ошибка приложения"
Инструкция по адресу "0x004583bc" обратилась к памяти по адресу "0x00000014".
Память не может быть "read".

Как правильно собрать в hbmake ? (у меня несколько проектов в нем)

Ниже привожу test.prg
--------------------------------------------------------------
FUNCTION MAIN()
LOCAL nI, nJ:=1, nY:=8, nX:=0 , cNameWin
SETCOLOR("15/1")
CLEAR SCREEN
TEXT
-------- -------- ------- --------
-- -- -- -- --
-- -- -- --
-- -------- -- --
-- -- -- -- --
-- -------- ------- --
ENDTEXT
wait
FOR nI := 0 TO 255
@ nJ + nY, nX SAY ALLTRIM(STR(nI))+" "+CHR(nI) COLOR("15/0")
nJ++
IF nJ > 19
nJ := 1
nX := nX + LEN(ALLTRIM(STR(nI)))+3
ENDIF
NEXT
INKEY(0)
RETURN NIL
--------------------------------
Ниже test.bc

#BCC
VERSION=BCB.01
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif

!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif

RECURSE= NO

COMPRESS = NO
EXTERNALLIB = YES
XFWH = NO
FILESTOADD = 5
WARNINGLEVEL = 0
USERDEFINE =
USERINCLUDE =
GUI = NO
MT = NO
SRC02 = obj
PROJECT = test.exe $(PR)
OBJFILES = $(SRC02)\TEST.obj $(OB)
PRGFILES = TEST.PRG $(PS)
OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE = TEST.PRG
LIBFILES = harbour.lib dllmai.lib
EXTLIBFILES = optcon.lib lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtwin.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib
DEFFILE =
HARBOURFLAGS = -w0
CFLAG1 = -OS $(CFLAGS) -d -c -L$(HB_DIR)\lib
CFLAG2 = -I$(HB_DIR)\include;$(CC_DIR)\include
RFLAGS =
LFLAGS = -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -ap
IFLAGS =
LINKER = ilink32

ALLOBJ = c0x32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
.autodepend

#DEPENDS

#COMMANDS
.cpp.obj:
$(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**

.c.obj:
$(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $**

.prg.obj:
$(HB_DIR)\bin\harbour -D__EXPORT__ -n -go -I$(HB_DIR)\include $(HARBOURFLAGS) -o$* $**

.rc.res:
$(CC_DIR)\BIN\brcc32 $(RFLAGS) $<

#BUILD

$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(CC_DIR)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
----------------------------------
P.S. Залез в папку xHarbour\tests, там есть dll_b32.bat
Пробовал его запускать, не собирает, выдает:

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
..\bin\b32\harbour.exe -n -i..\include -w1 disptest.prg -o.\disptest.c

** error 1 ** deleting .\disptest.c


Спасибо: 0 
Профиль
постоянный участник


Пост N: 60
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.06 15:08. Заголовок: Re:


Andrey пишет:

 цитата:
Ниже привожу test.prg



У меня Ваш пример собрался и отработал, что с c0x32.obj, что с c0w32.obj

Andrey пишет:

 цитата:
"Ошибка приложения"
Инструкция по адресу "0x004583bc" обратилась к памяти по адресу "0x00000014".
Память не может быть "read"


Рекомендую обновить антивирус, файревол и т.п.



Спасибо: 0 
Профиль
постоянный участник


Пост N: 61
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.06 15:55. Заголовок: Re:


Andrey пишет:

 цитата:
P.S. Залез в папку xHarbour\tests, там есть dll_b32.bat
Пробовал его запускать, не собирает, выдает:

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
..\bin\b32\harbour.exe -n -i..\include -w1 disptest.prg -o.\disptest.c

** error 1 ** deleting .\disptest.c



Сколько можно наступать на грабли

посмотрите в dll_b32.mak

COMPILER = ..\bin\b32\harbour.exe
HARBOURLIB = ..\lib\b32

сравните с
..\bin\b32\harbour.exe -n -i..\include -w1 disptest.prg -o.\disptest.c

Дальше объяснять?





Спасибо: 0 
Профиль
постоянный участник




Пост N: 139
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.06 20:07. Заголовок: Re:


Петр пишет:

 цитата:
У меня Ваш пример собрался и отработал, что с c0x32.obj, что с c0w32.obj



Я его собирал на xHarbour'e 0.99.60, проверял на 2х домашних компьютерах, завтра на работе проверю.
Вроде вирусов у себя не наблюдаю.

А вы на какой версии собирали ?

Спасибо: 0 
Профиль
постоянный участник




Пост N: 140
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.06 21:58. Заголовок: Re:


Петр пишет:

 цитата:
Сколько можно наступать на грабли

посмотрите в dll_b32.mak

COMPILER = ..\bin\b32\harbour.exe
HARBOURLIB = ..\lib\b32



Понял, исправил, заработало.
Собираються маленькие примеры, но не все.
Тоже вылетает с ошибкой: адреса разные и то-же "типа память не может....."
Думаю что-то с этой версией xHarbour'a 0.99.60
Помогите пожалуйста разобраться.

Спасибо: 0 
Профиль
постоянный участник


Пост N: 62
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.06 22:04. Заголовок: Re:


В данном случае использовал xHarbour Compiler build 0.99.61 (SimpLex)
Скачиваю с CVS - так, что в принципе нестабильная версия у меня, а не у Вас


Спасибо: 0 
Профиль
постоянный участник




Пост N: 141
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.06 22:07. Заголовок: Re:


Петр, а можете мне кинуть вашу версию ?
Мое мыло 30195@mail.ru
Или киньте пожалуйста прямую ссылку.


Спасибо: 0 
Профиль
постоянный участник




Пост N: 144
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.06 20:24. Заголовок: Re:


Собрал свой тестовый пример на xHarbour Compiler build 0.99.61, все прекрасно работает.
harbour.dll имеет размер 2 160 128 байт, а harbour.dll версии 0.99.60 - 1 902 080 байт.
А на xHarbour Compiler build 0.99.60 вылетает с ошибкой типа ....Память не может быть "read"
Вывод надо пересобрать harbour.dll в версии 0.99.60.
А как ?
Есть ли внем стандартые средства пересборки harbour.dll ?


Спасибо: 0 
Профиль
постоянный участник


Пост N: 69
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.12.06 23:26. Заголовок: Re:


Andrey пишет:

 цитата:
Вывод надо пересобрать harbour.dll в версии 0.99.60.



А почему бы не пользоваться xHarbour Compiler build 0.99.61, тем более, что официальная версия уже на подходе

Стандартное средство пересборки harbour.dll - dll_b32.bat, но для пересборки Вам нужны будут сырцы,
т.е. xharbour-0.99.60.src.zip


Спасибо: 0 
Профиль
постоянный участник




Пост N: 146
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.12.06 02:37. Заголовок: Re:


В 0.99.61 почемуто нет библиотеки optcon.lib
Я вообщето не знаю для чего она нужна, но свой проект в 99.61 я собрать не могу.

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




Пост N: 506
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.12.06 11:20. Заголовок: Re:


optcon убрали еще в марте.

Спасибо: 0 
Профиль
постоянный участник


Пост N: 74
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.12.06 16:02. Заголовок: Re:


Andrey пишет:

 цитата:
В 0.99.61 почемуто нет библиотеки optcon.lib
Я вообще то не знаю для чего она нужна, но свой проект в 99.61 я собрать не могу.



А для сборки используешь hbmake?

Dima пишет:

 цитата:
optcon убрали еще в марте.


Убрали, а из исходников hbmake забыли удалить

aadd(aDefLib,'optcon'+ cSuffix)
aadd(aDefLib,'optconmt'+ cSuffix)
aadd(aDefLib,'optgui'+ cSuffix)
aadd(aDefLib,'optguimt'+ cSuffix)

может еще что-то. Andrey, мне кажется пользоваться hbmake не есть good idea
А если хочется - скачай исходники и возись с ним.



Спасибо: 0 
Профиль
постоянный участник




Пост N: 148
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.12.06 18:41. Заголовок: Re:


Петр пишет:

 цитата:
мне кажется пользоваться hbmake не есть good idea



Блин, а чем пользоваться ?
Проект собирает из кучи исходников быстро и вроде понятно (стал чуть-чуть понимать что делать с проектами. )
И опять он входит в состав дистрибутива.
Я исходники правлю в Me 7.0 - ДОС'овском, сам он на флешке, проекты тоже, пришел к заказчику воткнул флешку и правь что не работает.

Вот если бы кто описал какая библиотека за что отвечает, всем было бы понятней.
И заодно подскажите насчет optcon.lib и optgui.lib, если их убрали то что нужно ставить вместо них ?


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




Пост N: 429
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.12.06 19:29. Заголовок: Re:


Вместо этих библиотек теперь fmstat.lib


Спасибо: 0 
Профиль
постоянный участник




Пост N: 155
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.12.06 22:13. Заголовок: Re:


А за что это библиотека отвечает ?
Киньте ссылку по описанию библиотек.

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




Пост N: 435
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.12.06 09:22. Заголовок: Re:


Она отключает статитику по памяти, протокол всех вызовов на выделение памяти
Программы работают чуть быстрее, но нет диагностики по памяти

Спасибо: 0 
Профиль
постоянный участник




Пост N: 174
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.12.06 19:43. Заголовок: Re:


Так с этим разобрались, dll работает, двигаемся дальше.

Как подключить другой терминал (типа gtwvt) для работы с harbour.dll ?
Т.е. у меня есть аналог gtwvt.lib (чужой gtwvt2.lib), без dll работает нормально, а если пытаюсь его подключить, то ничего не происходит, используется просто gtwvt.

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