2012-11-13 03:03 UTC+0100 Viktor Szakats (harbour syenar.net)

* contrib/hbfimage/fi_winfu.c
    * missed to include it in one of the recent entries:
      FI_LOADFROMMEM() has been renamed to FI_LOADFROMMEMORY()
      to be in sync with original FreeImage function name.
      Update your apps accordingly. INCOMPATIBLE.

  * contrib/hbfimage/tests/fitest.prg
    ! synced with above lib change

  * contrib/hbfimage/fi_winfu.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbgd/gd.prg
    * deleted excessive {} and () operators
    * eliminated split lines where only one char was present in a line
    % replaced RTE generator calls to more compact ones
    % dropped pcount() checks where HB_IS*() checks were
      present anyway
    * merged separate var declarations and initializations in
      wrapper code
    % eliminated local variables where it didn't make code
      less obvious
    % adujsted a few var scopes
    * deleted repetitive comments
    % protected hb_parcx() calls changed to hb_parc()
    ! GDIMAGESTRING(), GDIMAGESTRINGUP(), GDIMAGECHAR(), GDIMAGECHARUP()
      fixed for 1 character long strings. Code tried to retrieve a character
      by using hb_parni() which (purposefully) isn't supported in Harbour.
      The current effect is the same, with negligibly performance
      loss for one long strings.
    % GDIMAGECHAR(), GDIMAGECHARUP() now use C level forwarder.
    % using hb_parnintdef()
    ! fixed typo in RTE message
    % using hb_default() in gd.prg
    % number of LOC, source size (-24KB) and generated binary
      code greatly reduced by the above.

  * src/rtl/tclass.prg
  * src/rtl/tobject.prg
    * commented code changed to #if 0 blocks
    ! some commented code fixed
    * some obsolete comments deleted

  * utils/hbmk2/hbmk2.prg
    + added following options to .hbc files:
        keywords=
        licenses=
        repository=
      all only informational, they do nothing ATM.
This commit is contained in:
Viktor Szakats
2012-11-13 02:04:22 +00:00
parent 06167bb04b
commit 2aa3c558ce
9 changed files with 783 additions and 2631 deletions

View File

@@ -16,6 +16,57 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-11-13 03:03 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/hbfimage/fi_winfu.c
* missed to include it in one of the recent entries:
FI_LOADFROMMEM() has been renamed to FI_LOADFROMMEMORY()
to be in sync with original FreeImage function name.
Update your apps accordingly. INCOMPATIBLE.
* contrib/hbfimage/tests/fitest.prg
! synced with above lib change
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbgd/gd.prg
* deleted excessive {} and () operators
* eliminated split lines where only one char was present in a line
% replaced RTE generator calls to more compact ones
% dropped pcount() checks where HB_IS*() checks were
present anyway
* merged separate var declarations and initializations in
wrapper code
% eliminated local variables where it didn't make code
less obvious
% adujsted a few var scopes
* deleted repetitive comments
% protected hb_parcx() calls changed to hb_parc()
! GDIMAGESTRING(), GDIMAGESTRINGUP(), GDIMAGECHAR(), GDIMAGECHARUP()
fixed for 1 character long strings. Code tried to retrieve a character
by using hb_parni() which (purposefully) isn't supported in Harbour.
The current effect is the same, with negligibly performance
loss for one long strings.
% GDIMAGECHAR(), GDIMAGECHARUP() now use C level forwarder.
% using hb_parnintdef()
! fixed typo in RTE message
% using hb_default() in gd.prg
% number of LOC, source size (-24KB) and generated binary
code greatly reduced by the above.
* src/rtl/tclass.prg
* src/rtl/tobject.prg
* commented code changed to #if 0 blocks
! some commented code fixed
* some obsolete comments deleted
* utils/hbmk2/hbmk2.prg
+ added following options to .hbc files:
keywords=
licenses=
repository=
all only informational, they do nothing ATM.
2012-11-12 16:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbexpra.c
! fixed recently added error in macrocompiler mode

View File

@@ -73,9 +73,7 @@
HB_FUNC( FI_WINCONVTODIB )
{
if( hb_pcount() == 1 &&
HB_ISPOINTER( 1 )
)
if( HB_ISPOINTER( 1 ) )
{
#if ! defined( HB_OS_WIN_CE )
FIBITMAP * dib;
@@ -98,33 +96,22 @@ HB_FUNC( FI_WINCONVTODIB )
#endif
}
else
{
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
HB_ERR_FUNCNAME, 1,
hb_paramError( 1 ) );
}
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
/* Convert from HBITMAP to FreeImage */
HB_FUNC( FI_WINCONVFROMDIB )
{
if( hb_pcount() == 1 &&
HB_ISPOINTER( 1 )
)
if( HB_ISPOINTER( 1 ) )
{
#if ! defined( HB_OS_WIN_CE )
FIBITMAP * dib;
HBITMAP bitmap;
/* Retrieve parameters */
bitmap = ( HBITMAP ) hb_parptr( 1 );
/* run function */
dib = NULL;
HBITMAP bitmap = ( HBITMAP ) hb_parptr( 1 );
if( bitmap )
{
FIBITMAP * dib;
BITMAP bm;
HDC hDC;
@@ -134,38 +121,31 @@ HB_FUNC( FI_WINCONVFROMDIB )
GetDIBits( hDC, bitmap, 0, FreeImage_GetHeight( dib ),
FreeImage_GetBits( dib ), FreeImage_GetInfo( dib ), DIB_RGB_COLORS );
ReleaseDC( NULL, hDC );
}
/* return value */
if( dib )
hb_retptr( dib );
/* return value */
if( dib )
hb_retptr( dib );
}
#endif
}
else
{
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
HB_ERR_FUNCNAME, 1,
hb_paramError( 1 ) );
}
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
/* Draw an image in a window Box */
HB_FUNC( FI_WINDRAW )
{
if( hb_pcount() == 6 &&
HB_ISPOINTER( 1 ) &&
if( HB_ISPOINTER( 1 ) &&
HB_ISNUM( 2 ) &&
HB_ISNUM( 3 ) &&
HB_ISNUM( 4 ) &&
HB_ISNUM( 5 ) &&
HB_ISNUM( 6 )
)
HB_ISNUM( 6 ) )
{
FIBITMAP * dib;
HDC hDC;
RECT rcDest;
int scanlines;
/* Retrieve parameters */
dib = ( FIBITMAP * ) hb_parptr( 1 );
@@ -180,24 +160,17 @@ HB_FUNC( FI_WINDRAW )
SetStretchBltMode( hDC, COLORONCOLOR );
#endif
scanlines = StretchDIBits( hDC, rcDest.left,
rcDest.top,
rcDest.right - rcDest.left,
rcDest.bottom - rcDest.top,
0, 0, FreeImage_GetWidth( dib ), FreeImage_GetHeight( dib ),
FreeImage_GetBits( dib ), FreeImage_GetInfo( dib ),
DIB_RGB_COLORS, SRCCOPY );
/* return value */
hb_retni( scanlines );
/* return scanlines */
hb_retni( StretchDIBits( hDC, rcDest.left,
rcDest.top,
rcDest.right - rcDest.left,
rcDest.bottom - rcDest.top,
0, 0, FreeImage_GetWidth( dib ), FreeImage_GetHeight( dib ),
FreeImage_GetBits( dib ), FreeImage_GetInfo( dib ),
DIB_RGB_COLORS, SRCCOPY ) );
}
else
{
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
HB_ERR_FUNCNAME, 6,
hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ),
hb_paramError( 4 ), hb_paramError( 5 ), hb_paramError( 6 ) );
}
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
#else

File diff suppressed because it is too large Load Diff

View File

@@ -221,7 +221,7 @@ PROCEDURE Main()
FClose( nH )
? "Load JPEG from memory"
im := fi_LoadFromMem( FIF_JPEG, cStr, JPEG_DEFAULT )
im := fi_LoadFromMemory( FIF_JPEG, cStr, JPEG_DEFAULT )
? "Pointer :", ValToPrg( im )
? "Image Type :", fi_GetImageType( im )

View File

@@ -50,12 +50,6 @@
*
*/
FUNCTION gdImageChar( im, font, x, y, char, color )
RETURN gdImageString( im, font, x, y, char, color )
FUNCTION gdImageCharUp( im, font, x, y, char, color )
RETURN gdImageStringUp( im, font, x, y, char, color )
FUNCTION gdImageCircle( im, cx, cy, w, color )
RETURN gdImageArc( im, cx, cy, w, w, 0, 360, color )
@@ -158,7 +152,6 @@ FUNCTION gdImageFromFile( cFile )
cMime := "image/jpeg"
oImage := GDImage():LoadFromJpeg( cFile )
EXIT
CASE ".gif"
hFile[ "file" ] := cFile
hFile[ "path" ] := cPath
@@ -169,7 +162,6 @@ FUNCTION gdImageFromFile( cFile )
cMime := "image/gif"
oImage := GDImage():LoadFromGif( cFile )
EXIT
CASE ".png"
hFile[ "file" ] := cFile
hFile[ "path" ] := cPath
@@ -180,9 +172,7 @@ FUNCTION gdImageFromFile( cFile )
cMime := "image/png"
oImage := GDImage():LoadFromPng( cFile )
EXIT
ENDSWITCH
ENDIF
RETURN { oImage, hFile, cType, cMime }
@@ -191,20 +181,18 @@ FUNCTION gdImageToString( oImage )
LOCAL cString
IF HB_ISOBJECT( oImage ) .AND. ( oImage:ClassName == "GDIMAGE" .OR. oImage:IsDerivedFrom( "GDIMAGE" ) )
IF oImage:cType != NIL
SWITCH oImage:cType
CASE "jpeg"
cString := oImage:ToStringJpeg()
EXIT
CASE "gif"
cString := oImage:ToStringGif()
EXIT
CASE "png"
cString := oImage:ToStringPng()
EXIT
ENDSWITCH
ENDIF
IF HB_ISOBJECT( oImage ) .AND. ( oImage:ClassName == "GDIMAGE" .OR. oImage:IsDerivedFrom( "GDIMAGE" ) ) .AND. oImage:cType != NIL
SWITCH oImage:cType
CASE "jpeg"
cString := oImage:ToStringJpeg()
EXIT
CASE "gif"
cString := oImage:ToStringGif()
EXIT
CASE "png"
cString := oImage:ToStringPng()
EXIT
ENDSWITCH
ENDIF
RETURN cString
@@ -213,31 +201,27 @@ PROCEDURE gdImageToFile( oImage, cFile )
LOCAL cString, cExt
IF ! HB_ISSTRING( cFile )
cFile := "image"
ENDIF
hb_default( @cFile, "image" )
IF HB_ISOBJECT( oImage ) .AND. ( oImage:ClassName == "GDIMAGE" .OR. oImage:IsDerivedFrom( "GDIMAGE" ) )
IF oImage:cType != NIL
SWITCH oImage:cType
CASE "jpeg"
cString := oImage:ToStringJpeg()
cExt := ".jpg"
EXIT
CASE "gif"
cString := oImage:ToStringGif()
cExt := ".gif"
EXIT
CASE "png"
cString := oImage:ToStringPng()
cExt := ".png"
EXIT
OTHERWISE
cExt := ""
ENDSWITCH
IF cString != NIL
hb_MemoWrit( cFile + cExt, cString )
ENDIF
IF HB_ISOBJECT( oImage ) .AND. ( oImage:ClassName == "GDIMAGE" .OR. oImage:IsDerivedFrom( "GDIMAGE" ) ) .AND. oImage:cType != NIL
SWITCH oImage:cType
CASE "jpeg"
cString := oImage:ToStringJpeg()
cExt := ".jpg"
EXIT
CASE "gif"
cString := oImage:ToStringGif()
cExt := ".gif"
EXIT
CASE "png"
cString := oImage:ToStringPng()
cExt := ".png"
EXIT
OTHERWISE
cExt := ""
ENDSWITCH
IF cString != NIL
hb_MemoWrit( cFile + cExt, cString )
ENDIF
ENDIF
@@ -245,9 +229,7 @@ PROCEDURE gdImageToFile( oImage, cFile )
PROCEDURE gdImageToHandle( oImage, nHandle )
IF ! HB_ISNUMERIC( nHandle )
nHandle := 1
ENDIF
hb_default( @nHandle, 1 )
IF HB_ISOBJECT( oImage ) .AND. ( oImage:ClassName == "GDIMAGE" .OR. oImage:IsDerivedFrom( "GDIMAGE" ) )
IF oImage:cType != NIL

File diff suppressed because it is too large Load Diff

View File

@@ -92,8 +92,11 @@ FUNCTION HBClass()
BEGIN SEQUENCE
#if 0
hClass := __clsNew( "HBCLASS", 17,, @HBClass() )
#else
hClass := __clsNew( "HBCLASS", 16,, @HBClass() )
/* hClass := __clsNew( "HBCLASS", 17,, @HBClass()) */
#endif
__clsAddMsg( hClass, "New" , @New() , HB_OO_MSG_METHOD )
__clsAddMsg( hClass, "Create" , @Create() , HB_OO_MSG_METHOD )
@@ -146,8 +149,10 @@ FUNCTION HBClass()
__clsAddMsg( hClass, "_asFriendFunc" , 15, HB_OO_MSG_ASSIGN )
__clsAddMsg( hClass, "sClassFunc" , 16, HB_OO_MSG_ACCESS )
__clsAddMsg( hClass, "_sClassFunc" , 16, HB_OO_MSG_ASSIGN )
/* __clsAddMsg( hClass, "class" , 17, HB_OO_MSG_ACCESS )
__clsAddMsg( hClass, "_class" , 17, HB_OO_MSG_ASSIGN ) */
#if 0
__clsAddMsg( hClass, "class" , 17, HB_OO_MSG_ACCESS )
__clsAddMsg( hClass, "_class" , 17, HB_OO_MSG_ASSIGN )
#endif
ALWAYS
@@ -212,7 +217,9 @@ STATIC PROCEDURE Create( /* MetaClass */ )
LOCAL hClass
LOCAL ahSuper := {}
/* Self:Class := MetaClass */
#if 0
Self:Class := MetaClass
#endif
FOR EACH n IN ::asSuper
hClass := __clsInstSuper( n ) /* Super handle available */
@@ -232,12 +239,13 @@ STATIC PROCEDURE Create( /* MetaClass */ )
ENDIF
__clsAddMsg( hClass, "REALCLASS", 0, HB_OO_MSG_REALCLASS, 0, HB_OO_CLSTP_EXPORTED )
#if 0
// We will work here on the MetaClass object to add the Class Method
// as needed
// FOR EACH n IN ::aClsMethods
// // do it
// NEXT
// //
FOR EACH n IN ::aClsMethods
// do it
NEXT
#endif
/* local messages... */

View File

@@ -6,7 +6,7 @@
* Harbour Project source code:
* Base Object from which all object finally inherit
*
* Copyright 2000 JfL&RaC <jfl@mafact.com>, <rac@mafact.com>
* Copyright 2000 J. Lefebvre <jfl@mafact.com> & RA. Cuylen <rac@mafact.com>
* www - http://harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
@@ -50,24 +50,6 @@
*
*/
/*
* The following parts are Copyright of the individual authors.
* www - http://harbour-project.org
*
* Copyright 2000 J. Lefebvre <jfl@mafact.com> & RA. Cuylen <rac@mafact.com>
* 1.40 07/13/2000 JFL&RAC
* Now supporting of New and Init method as Class(y) use it
* So oMyObj:new(Var1, Var2) will call oMyObj:Init(Var1, Var2)
* Currently limited to 20 params
*
* 1.41 07/18/2000 JFL&RAC
* Improving class(y) compatibility
* adding messages :error() and ::MsgNotFound()
*
* See COPYING for licensing terms.
*
*/
/* WARNING: Can not use the preprocessor, otherwise
it will auto inherit from itself. */
@@ -85,12 +67,6 @@ FUNCTION HBObject()
oClass := HBClass():New( "HBObject",, @HBObject() )
/* Those Five worked fine but their C version from classes.c are probably better in term of speed */
/*oClass:AddInline( "CLASSNAME" , {| Self | __OBJGETCLSNAME( Self ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "CLASSH" , {| Self | __CLASSH( Self ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "CLASSSEL" , {| Self | __CLASSSEL( Self:CLASSH() ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "EVAL" , {| Self | __EVAL( Self ) }, HB_OO_CLSTP_EXPORTED ) */
#ifndef HB_CLP_STRICT
oClass:AddInline( "ISDERIVEDFROM" , {| Self, xPar1 | __ObjDerivedFrom( Self, xPar1 ) }, HB_OO_CLSTP_EXPORTED ) /* Xbase++ compatibility */
#endif
@@ -106,42 +82,39 @@ FUNCTION HBObject()
oClass:AddInline( "MSGNOTFOUND" , {| Self, cMsg | ::Error( "Message not found", Self:className, cMsg, iif( Left( cMsg, 1 ) == "_", 1005, 1004 ) ) }, HB_OO_CLSTP_EXPORTED )
/*oClass:AddMultiData( , , HB_OO_CLSTP_EXPORTED, { "CLASS" }, .F. ) */
#if 0
oClass:AddMultiData( , , HB_OO_CLSTP_EXPORTED, { "CLASS" }, .F. )
/*oClass:AddInline( "ADDMETHOD" , {| Self, cMeth, pFunc, nScopeMeth | __clsAddMsg( __CLASSH( Self ) , cMeth , pFunc ,HB_OO_MSG_METHOD , NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "ADDVAR" , {| Self, cVAR, nScopeMeth, uiData, hClass | __clsAddMsg( hClass:=__CLASSH( Self ) , cVar , uidata := __CLS_INCDATA( hClass ), HB_OO_MSG_ACCESS, NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) , ; */
/* __clsAddMsg( hClass , "_"+cVar , uiData , HB_OO_MSG_ASSIGN, NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "ADDMETHOD" , {| Self, cMeth, pFunc, nScopeMeth | __clsAddMsg( __CLASSH( Self ) , cMeth , pFunc ,HB_OO_MSG_METHOD , NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "ADDVAR" , {| Self, cVAR, nScopeMeth, uiData, hClass | __clsAddMsg( hClass:=__CLASSH( Self ) , cVar , uidata := __CLS_INCDATA( hClass ), HB_OO_MSG_ACCESS, NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) , ;
__clsAddMsg( hClass , "_"+cVar , uiData , HB_OO_MSG_ASSIGN, NIL, iif( nScopeMeth == NIL, 1, nScopeMeth ) ) }, HB_OO_CLSTP_EXPORTED )
/* Those one exist within Class(y), so we will probably try to implement it */
/* These ones exist within Class(y), so we will probably try to implement it */
/*oClass:AddInline( "asString" , {| Self | ::class:name + " object" }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "asExpStr" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "basicSize" , {| Self | Len( Self ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "become" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "isEqual" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "isScalar" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "copy" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "deepCopy" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "asString" , {| Self | ::class:name + " object" }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "asExpStr" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "basicSize" , {| Self | Len( Self ) }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "become" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "isEqual" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "isScalar" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "copy" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "deepCopy" , {| Self | }, HB_OO_CLSTP_EXPORTED )
/*oClass:AddInline( "deferred" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "deferred" , {| Self | }, HB_OO_CLSTP_EXPORTED )
/*oClass:AddInline( "exec" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "error , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "hash" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "null" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "size" , {| Self | Len( Self ) }, HB_OO_CLSTP_EXPORTED ) */
/* Those three are already treated within Classes.c */
/*oClass:AddInline( "protectErr" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "hiddenErr" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "readOnlyErr" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "exec" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "error" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "hash" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "null" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "size" , {| Self | Len( Self ) }, HB_OO_CLSTP_EXPORTED )
/* No idea when those two could occur !!? */
/*oClass:AddInline( "wrongClass" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "badMethod" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "wrongClass" , {| Self | }, HB_OO_CLSTP_EXPORTED )
oClass:AddInline( "badMethod" , {| Self | }, HB_OO_CLSTP_EXPORTED )
/* this one exist within VO and seem to be Auto Called when object ran out of scope */
/*oClass:AddInline( "Axit" , {| Self | }, HB_OO_CLSTP_EXPORTED ) */
oClass:AddInline( "Axit" , {| Self | }, HB_OO_CLSTP_EXPORTED )
#endif
oClass:Create()
@@ -153,11 +126,12 @@ FUNCTION HBObject()
ENDIF
/*
#if 0
oInstance := s_oClass:Instance()
oInstance:class := s_oClass
RETURN oInstance
*/
#endif
RETURN s_oClass:Instance()

View File

@@ -10355,6 +10355,18 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
/* Silently ignore */
CASE Lower( Left( cLine, Len( "keywords=" ) ) ) == "keywords=" ; cLine := SubStr( cLine, Len( "keywords=" ) + 1 )
/* Silently ignore */
CASE Lower( Left( cLine, Len( "licences=" ) ) ) == "licenses=" ; cLine := SubStr( cLine, Len( "licences=" ) + 1 )
/* Silently ignore */
CASE Lower( Left( cLine, Len( "repository=" ) ) ) == "repository=" ; cLine := SubStr( cLine, Len( "repository=" ) + 1 )
/* Silently ignore */
ENDCASE
NEXT