2003-10-08 14:24 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>

This commit is contained in:
Alexander S.Kresin
2003-10-08 10:22:10 +00:00
parent 35b86acad9
commit df1367fdf0
4 changed files with 46 additions and 1 deletions

View File

@@ -8,6 +8,15 @@
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2003-10-08 14:24 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
* Makefile
* contrib/Makefile
* Makefiles are changed to build some contribution libraries.
* source/vm/classes.c
* hb_objSendMsg() function added ( borrowed from xHarbour ).
It makes it more easy to set/get values of object variables,
execute object methods from the C level.
2003-10-07 12:06 UTC+0200 Chen Kedem <niki@actcom.co.il>
* doc/whatsnew.txt
* Update build 43 release date

View File

@@ -9,7 +9,7 @@ DIRS=\
include \
source \
utils \
# tests \
contrib \
# samples \
include $(ROOT)config/dir.cf

View File

@@ -26,6 +26,8 @@ DIRS=\
libmisc \
libnf \
rdd_ads \
ole \
odbc \
samples \
endif
@@ -62,6 +64,8 @@ DIRS=\
libct \
libgt \
libmisc \
rdd_ads \
odbc \
samples \
endif

View File

@@ -1824,6 +1824,38 @@ HB_FUNC( __OBJCLONE )
}
}
void hb_objSendMsg( PHB_ITEM pObj, char *sMsg, ULONG ulArg, ... )
{
PHB_DYNS pMsgSym = hb_dynsymFindName( sMsg );
if( pMsgSym )
{
hb_vmPushSymbol( pMsgSym->pSymbol );
hb_vmPush( pObj );
if( ulArg )
{
unsigned long i;
va_list ap;
va_start( ap, ulArg );
for( i = 0; i < ulArg; i++ )
{
hb_vmPush( va_arg( ap, PHB_ITEM ) );
}
va_end( ap );
}
hb_vmSend( (USHORT) ulArg );
}
else
{
hb_errRT_BASE( EG_ARG, 3000, NULL, "__ObjSendMsg()", 0 );
}
}
/*
* <xRet> = __objSendMsg( <oObj>, <cSymbol>, <xArg,..>