Hi,
In addition, HMG Objects were still in experimental stage. For a serious project I think it is not applicable because if in the future a major change occurs you have to rewrite your program. However for small project it might be fine (I'm not sure though) but it deserves to be tested to its breaking point so that weakness can be found.
You cannot mix the semi-oop syntax when you use HMG Objects. Example, WindowName.Release instead you have to use WindowName:Release(). Thus in effect you cannot use your personal UDF/library if it so happen containing those syntax.
I am not sure if semi-oop syntax can can be overriden by xtranslate or xcommand compiler directives.
On the other hand, here is a makefile if you wish to build HMG Objects as LibHMGObjects:
Code: Select all
HRB_DIR = c:/hmg/harbour
INC_DIR = c:/hmg/include
OBJ_DIR = f:/dad/hmgobjects/source --> replaced this with your source paths or obj path
LIB_DIR = f:/dad/hmgobjects/source --> replaced this with your source paths or lib path
SRC_DIR = f:/dad/hmgobjects/source --> replaced this with your source paths or src path
CFLAGS = -Wall -mno-cygwin -O3
all: \
$(LIB_DIR)/libhmgobjects.a \
$(LIB_DIR)/libhmgobjects.a : \
$(OBJ_DIR)/objects.o
ar rc $@ $^
$(OBJ_DIR)/objects.o : $(OBJ_DIR)/objects.c
$(OBJ_DIR)/objects.c : $(SRC_DIR)/objects.prg
$(HRB_DIR)/bin\harbour.exe $^ -n -I$(HRB_DIR)/include -i$(INC_DIR) -d__WINDOWS__ -o$@ $^
.prg.c:
$(HRB_DIR)/bin\harbour.exe $^ -n -I$(HRB_DIR)/include -i$(INC_DIR) -d__WINDOWS__ -o$@ $^
.c.o:
gcc $(CFLAGS) -c -I$(INC_DIR) -I$(HRB_DIR)/include -o $@ $^
So then from the HMG-IDE you have to specify the library you have created as HMGObjects (If that is the name you have given).
Regards,
Danny