2006-04-15 20:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
+ harbour/include/blob.ch
* harbour/include/dbinfo.ch
* harbour/include/hbdbferr.h
* harbour/include/hbrddfpt.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
* harbour/source/rdd/dbffpt/dbffpt1.c
+ added all CL5.3 BLOB*() functions support
+ added new RDD DBFBLOB compatible with CL5.3 DBFBLOB
It operates on memo files only (.dbv) without tables (.dbf)
To create .DBV file use:
dbCreate( cFile, {}, "DBFBLOB" )
* harbour/source/rdd/dbcmd.c
* do not report error when empty structure table is passed to DBCREATE()
CL5.3 allow to create even DBF files without any fields and because
I can imagine some valid code which use it as a feature then I also
allow it in DBF RDD.
Authors of RDDs which do not allow to create tables without fields
should add to their low level RDD code necessary RT error.
This commit is contained in:
@@ -1741,7 +1741,17 @@ HB_FUNC( DBCREATE )
|
||||
fKeepOpen = ISLOG( 4 );
|
||||
fCurrArea = fKeepOpen && !hb_parl( 4 );
|
||||
|
||||
if( !pStruct || hb_arrayLen( pStruct ) == 0 ||
|
||||
/*
|
||||
* Clipper allows to use empty struct array for RDDs which does not
|
||||
* support fields, f.e.: DBFBLOB in CL5.3
|
||||
* In CL5.3 it's also possible to create DBF file without fields.
|
||||
* if some RDD wants to block it then they should serve it in lower
|
||||
* level, [druzus]
|
||||
*/
|
||||
if( !pStruct ||
|
||||
#ifdef HB_C52_STRICT
|
||||
hb_arrayLen( pStruct ) == 0 ||
|
||||
#endif
|
||||
!szFileName || !szFileName[ 0 ] )
|
||||
{
|
||||
hb_errRT_DBCMD( EG_ARG, EDBCMD_DBCMDBADPARAMETER, NULL, "DBCREATE" );
|
||||
|
||||
Reference in New Issue
Block a user