diff options
Diffstat (limited to 'packages/pxlib/src/pxlib.pp')
| -rw-r--r-- | packages/pxlib/src/pxlib.pp | 569 |
1 files changed, 569 insertions, 0 deletions
diff --git a/packages/pxlib/src/pxlib.pp b/packages/pxlib/src/pxlib.pp new file mode 100644 index 0000000000..f7d6a8c8cb --- /dev/null +++ b/packages/pxlib/src/pxlib.pp @@ -0,0 +1,569 @@ +{$IFDEF FPC} +{$mode objfpc} +{$h+} +{$PACKRECORDS C} +{$ENDIF} +unit pxlib; +interface + +uses + ctypes,unixtype; + +{ Automatically converted by H2Pas 1.0.0 from pxlib.h + The following command line parameters were used: + pxlib.h -D -l pxlib -o pxlib.pp -P -u pxlib -C -p + MVC : Heavily edited after generation. C is a mess :( } + +const + pxlibraryname='libpx.so.0'; { Default name } + +const + + px_true = 1; + px_false = 0; + + { Error codes } + + PX_MemoryError = 1; + PX_IOError = 2; + PX_RuntimeError = 3; + PX_Warning = 100; + + { IO Stream types } + + pxfIOFile = 1; { pxfIOGsf is defined as 2 in paradox-gsf.h } + pxfIOStream = 3; + + { Field types } + + pxfAlpha = $01; + pxfDate = $02; + pxfShort = $03; + pxfLong = $04; + pxfCurrency = $05; + pxfNumber = $06; + pxfLogical = $09; + pxfMemoBLOb = $0C; + pxfBLOb = $0D; + pxfFmtMemoBLOb = $0E; + pxfOLE = $0F; + pxfGraphic = $10; + pxfTime = $14; + pxfTimestamp = $15; + pxfAutoInc = $16; + pxfBCD = $17; + pxfBytes = $18; + pxfNumTypes = $18; + + { File types } + pxfFileTypIndexDB = 0; + pxfFileTypPrimIndex = 1; + pxfFileTypNonIndexDB = 2; + pxfFileTypNonIncSecIndex = 3; + pxfFileTypSecIndex = 4; + pxfFileTypIncSecIndex = 5; + pxfFileTypNonIncSecIndexG = 6; + pxfFileTypSecIndexG = 7; + pxfFileTypIncSecIndexG = 8; + + { File modes } + pxfFileRead = $1; + pxfFileWrite = $2; + +Type + PLongint = ^Longint; + PSmallInt = ^SmallInt; + PByte = ^Byte; + PWord = ^Word; + PDWord = ^DWord; + PDouble = ^Double; + Pcchar = pchar; + + PFILE = ^FILE; + iconv_t = pointer; + + Ppxstream_t = ^pxstream_t; + Ppxfield_t = ^pxfield_t; + ppxval_t = ^pxval_t; + Ppxhead_t = ^pxhead_t; + Ppxdoc_t = ^pxdoc_t; + ppxblockcache_t = ^pxblockcache_t; + ppxmbblockinfo_t = ^pxmbblockinfo_t; + Ppxblob_t = ^pxblob_t; + Pmbhead_t = ^mbhead_t; + Ppxdatablockinfo_t = ^pxdatablockinfo_t; + PPpxval_t = ^ppxval_t; + Ppcchar = ^pcchar; + + Ppx_field = ^px_field; + px_field = record + px_fname : pcchar; + px_ftype : cchar; + px_flen : cint; + px_fdc : cint; + end; + pxfield_t = px_field; + + Ppx_val = ^px_val; + px_val = record + isnull : cchar; + _type : cint; + value : record + case longint of + 0 : ( lval : clong ); + 1 : ( dval : double ); + 2 : ( str : record + val : pcchar; + len : cint; + end ); + end; + end; + pxval_t = px_val; + + Ppx_head = ^px_head; + px_head = record + px_tablename : pcchar; + px_recordsize : cint; + px_filetype : cchar; + px_fileversion : cint; + px_numrecords : cint; + px_theonumrecords : cint; + px_numfields : cint; + px_maxtablesize : cint; + px_headersize : cint; + px_fileblocks : cuint; + px_firstblock : cuint; + px_lastblock : cuint; + px_indexfieldnumber : cint; + px_indexroot : cint; + px_numindexlevels : cint; + px_writeprotected : cint; + px_doscodepage : cint; + px_primarykeyfields : cint; + px_modifiedflags1 : cchar; + px_modifiedflags2 : cchar; + px_sortorder : cchar; + px_autoinc : cint; + px_fileupdatetime : cint; + px_refintegrity : cchar; + px_fields : Ppx_field; + px_encryption : culong; + end; + pxhead_t = px_head; + + Ppx_stream = ^px_stream; + px_stream = record + _type : cint; + mode : cint; + close : cint; + s : record + case longint of + 0 : ( fp : PFILE ); + 1 : ( stream : pointer ); + end; + read : function (p:Ppxdoc_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t;cdecl; + seek : function (p:Ppxdoc_t; stream:Ppxstream_t; offset:clong; whence:cint):cint; cdecl; + tell : function (p:Ppxdoc_t; stream:Ppxstream_t):clong; cdecl; + write : function (p:Ppxdoc_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t;cdecl; + end; + pxstream_t = px_stream; + + Ppx_doc = ^px_doc; + px_doc = record + px_stream : Ppxstream_t; + px_name : pcchar; + px_close_fp : cint; + px_head : Ppxhead_t; + px_data : pointer; + px_datalen : cint; + px_indexdata : pointer; + px_indexdatalen : cint; + px_pindex : Ppxdoc_t; + px_blob : Ppxblob_t; + last_position : cint; + warnings : cint; + writeproc : function (p:Ppxdoc_t; data:pointer; size:size_t):size_t; cdecl; + errorhandler : procedure (p:Ppxdoc_t; level:cint; msg:pcchar; data:pointer); cdecl; + errorhandler_user_data : pointer; + malloc : function (p:Ppxdoc_t; size:size_t; caller:pcchar):pointer; cdecl; + calloc : function (p:Ppxdoc_t; size:size_t; caller:pcchar):pointer; cdecl; + realloc : function (p:Ppxdoc_t; mem:pointer; size:size_t; caller:pcchar):pointer; cdecl; + free : procedure (p:Ppxdoc_t; mem:pointer); cdecl; + read : function (p:Ppxdoc_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t; cdecl; + seek : function (p:Ppxdoc_t; stream:Ppxstream_t; offset:clong; whence:cint):cint; cdecl; + tell : function (p:Ppxdoc_t; stream:Ppxstream_t):clong; cdecl; + write : function (p:Ppxdoc_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t; cdecl; + targetencoding : pcchar; + inputencoding : pcchar; + out_iconvcd : iconv_t; + in_iconvcd : iconv_t; + curblocknr : clong; + curblockdirty : cint; + curblock : pcuchar; + end; + pxdoc_t = px_doc; + + px_blockcache = record + start : clong; + size : size_t; + data : pcuchar; + end; + pxblockcache_t = px_blockcache; + + Ppx_mbblockinfo = ^px_mbblockinfo; + px_mbblockinfo = record + number : cint; + _type : cchar; + numblobs : cchar; + numblocks : cint; + allocspace : cint; + end; + pxmbblockinfo_t = px_mbblockinfo; + + px_blob = record + mb_name : pcchar; + pxdoc : Ppxdoc_t; + mb_stream : Ppxstream_t; + mb_head : Pmbhead_t; + used_datablocks : cint; + subblockoffset : cint; + subblockinneroffset : cint; + subblockfree : cint; + subblockblobcount : cint; + read : function (p:Ppxblob_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t; cdecl; + seek : function (p:Ppxblob_t; stream:Ppxstream_t; offset:clong; whence:cint):cint; cdecl; + tell : function (p:Ppxblob_t; stream:Ppxstream_t):clong; cdecl; + write : function (p:Ppxblob_t; stream:Ppxstream_t; numbytes:size_t; buffer:pointer):size_t; cdecl; + blockcache : pxblockcache_t; + blocklist : Ppxmbblockinfo_t; + blocklistlen : cint; + end; + pxblob_t = px_blob; + + Pmb_head = ^mb_head; + mb_head = record + modcount : cint; + end; + mbhead_t = mb_head; + + Ppx_datablockinfo = ^px_datablockinfo; + px_datablockinfo = record + blockpos : clong; + recordpos : clong; + size : cint; + recno : cint; + numrecords : cint; + prev : cint; + next : cint; + number : cint; + end; + pxdatablockinfo_t = px_datablockinfo; + + Ppx_pindex = ^px_pindex; + px_pindex = record + data : pcchar; + blocknumber : cint; + numrecords : cint; + dummy : cint; + myblocknumber : cint; + level : cint; + end; + pxpindex_t = px_pindex; + + TPXErrorhandler = procedure (p:Ppxdoc_t; _type:cint; msg:pcchar; data:pointer); cdecl; + TPXAllocHandler = function (p:Ppxdoc_t; size:size_t; caller:pcchar):pointer; cdecl; + TPXReAllocHandler = function (p:Ppxdoc_t; mem:pointer; size:size_t; caller:pcchar):pointer;cdecl; + TPXFreeHandler = procedure (p:Ppxdoc_t; mem:pointer); cdecl; + +var + PX_get_majorversion : function:cint;cdecl; + PX_get_minorversion : function:cint;cdecl; + PX_get_subminorversion : function:cint;cdecl; + PX_has_recode_support : function:cint;cdecl; + PX_has_gsf_support : function:cint;cdecl; + PX_is_bigendian : function:cint;cdecl; + PX_get_builddate : function:pcchar;cdecl; + PX_boot : procedure;cdecl; + PX_shutdown : procedure;cdecl; + PX_new3 : function(errorhandler: TPXErrorHandler; + allocproc: TPXAllocHandler; + reallocproc: TPXReallocHandler; + freeproc : TPXFreeHandler; + errorhandler_user_data : pointer) : Ppxdoc_t; cdecl; + PX_new2 : function(errorhandler: TPXErrorHandler; + allocproc: TPXAllocHandler; + reallocproc: TPXReallocHandler; + freeproc : TPXFreeHandler) : Ppxdoc_t; cdecl; + PX_new : function:Ppxdoc_t;cdecl; + PX_open_fp : function(pxdoc:Ppxdoc_t; fp:PFILE):cint;cdecl; + PX_open_file : function(pxdoc:Ppxdoc_t; filename:pcchar):cint;cdecl; + PX_create_file : function(pxdoc:Ppxdoc_t; pxf:Ppxfield_t; numfields:cint; filename:pcchar; _type:cint):cint;cdecl; + PX_create_fp : function(pxdoc:Ppxdoc_t; pxf:Ppxfield_t; numfields:cint; fp:PFILE; _type:cint):cint;cdecl; + PX_get_opaque : function(pxdoc:Ppxdoc_t):pointer;cdecl; + PX_write_primary_index : function(pxdoc:Ppxdoc_t; pxindex:Ppxdoc_t):cint;cdecl; + PX_read_primary_index : function(pindex:Ppxdoc_t):cint;cdecl; + PX_add_primary_index : function(pxdoc:Ppxdoc_t; pindex:Ppxdoc_t):cint;cdecl; + PX_get_record : function(pxdoc:Ppxdoc_t; recno:cint; data:pcchar):pcchar;cdecl; + PX_get_record2 : function(pxdoc:Ppxdoc_t; recno:cint; data:pcchar; deleted:pcint; pxdbinfo:Ppxdatablockinfo_t):pcchar;cdecl; + PX_put_recordn : function(pxdoc:Ppxdoc_t; data:pcchar; recpos:cint):cint;cdecl; + PX_put_record : function(pxdoc:Ppxdoc_t; data:pcchar):cint;cdecl; + PX_insert_record : function(pxdoc:Ppxdoc_t; dataptr:PPpxval_t):cint;cdecl; + PX_update_record : function(pxdoc:Ppxdoc_t; dataptr:PPpxval_t; recno:cint):cint;cdecl; + PX_delete_record : function(pxdoc:Ppxdoc_t; recno:cint):cint;cdecl; + PX_retrieve_record : function(pxdoc:Ppxdoc_t; recno:cint):PPpxval_t;cdecl; + PX_close : procedure(pxdoc:Ppxdoc_t);cdecl; + PX_delete : procedure(pxdoc:Ppxdoc_t);cdecl; + PX_pack : function(pxdoc:Ppxdoc_t):cint;cdecl; + PX_get_fields : function(pxdoc:Ppxdoc_t):Ppxfield_t;cdecl; + PX_get_field : function(pxdoc:Ppxdoc_t; i:cint):Ppxfield_t;cdecl; + PX_get_num_fields : function(pxdoc:Ppxdoc_t):cint;cdecl; + PX_get_num_records : function(pxdoc:Ppxdoc_t):cint;cdecl; + PX_get_recordsize : function(pxdoc:Ppxdoc_t):cint;cdecl; + PX_set_parameter : function(pxdoc:Ppxdoc_t; name:pcchar; value:pcchar):cint;cdecl; + PX_get_parameter : function(pxdoc:Ppxdoc_t; name:pcchar; value:Ppcchar):cint;cdecl; + PX_set_value : function(pxdoc:Ppxdoc_t; name:pcchar; value:double):cint;cdecl; + PX_get_value : function(pxdoc:Ppxdoc_t; name:pcchar; value:Pdouble):cint;cdecl; + PX_set_targetencoding : function(pxdoc:Ppxdoc_t; encoding:pcchar):cint;cdecl; + PX_set_inputencoding : function(pxdoc:Ppxdoc_t; encoding:pcchar):cint;cdecl; + PX_set_tablename : function(pxdoc:Ppxdoc_t; tablename:pcchar):cint;cdecl; + PX_set_blob_file : function(pxdoc:Ppxdoc_t; filename:pcchar):cint;cdecl; + PX_set_blob_fp : function(pxdoc:Ppxdoc_t; fp:PFILE):cint;cdecl; + PX_has_blob_file : function(pxdoc:Ppxdoc_t):cint;cdecl; + PX_new_blob : function(pxdoc:Ppxdoc_t):Ppxblob_t;cdecl; + PX_open_blob_fp : function(pxdoc:Ppxblob_t; fp:PFILE):cint;cdecl; + PX_open_blob_file : function(pxdoc:Ppxblob_t; filename:pcchar):cint;cdecl; + PX_create_blob_fp : function(pxdoc:Ppxblob_t; fp:PFILE):cint;cdecl; + PX_create_blob_file : function(pxblob:Ppxblob_t; filename:pcchar):cint;cdecl; + PX_close_blob : procedure(pxdoc:Ppxblob_t);cdecl; + PX_delete_blob : procedure(pxblob:Ppxblob_t);cdecl; + PX_read_blobdata : function(pxblob:Ppxblob_t; data:pcchar; len:cint; _mod:pcint; blobsize:pcint):pcchar;cdecl; + PX_read_graphicdata : function(pxblob:Ppxblob_t; data:pcchar; len:cint; _mod:pcint; blobsize:pcint):pcchar;cdecl; + PX_read_grahicdata : function(pxblob:Ppxblob_t; data:pcchar; len:cint; _mod:pcint; blobsize:pcint):pcchar;cdecl; + PX_get_data_alpha : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:Ppcchar):cint;cdecl; + PX_get_data_bytes : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:Ppcchar):cint;cdecl; + PX_get_data_double : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:Pdouble):cint;cdecl; + PX_get_data_long : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pclong):cint;cdecl; + PX_get_data_short : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcsint):cint;cdecl; + PX_get_data_byte : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcchar):cint;cdecl; + PX_get_data_bcd : function(pxdoc:Ppxdoc_t; data:pcuchar; len:cint; value:Ppcchar):cint;cdecl; + PX_get_data_blob : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; _mod:pcint; blobsize:pcint; + value:Ppcchar):cint;cdecl; + PX_get_data_graphic : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; _mod:pcint; blobsize:pcint; + value:Ppcchar):cint;cdecl; + PX_put_data_alpha : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcchar);cdecl; + PX_put_data_bytes : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcchar);cdecl; + PX_put_data_double : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:double);cdecl; + PX_put_data_long : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:cint);cdecl; + PX_put_data_short : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:csint);cdecl; + PX_put_data_byte : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:cchar);cdecl; + PX_put_data_bcd : procedure(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcchar);cdecl; + PX_put_data_blob : function(pxdoc:Ppxdoc_t; data:pcchar; len:cint; value:pcchar; valuelen:cint):cint;cdecl; + PX_SdnToGregorian : procedure(sdn:clong; pYear:pcint; pMonth:pcint; pDay:pcint);cdecl; + PX_GregorianToSdn : function(year:cint; month:cint; day:cint):clong;cdecl; + PX_make_time : function(pxdoc:Ppxdoc_t; hour:cint; minute:cint; second:cint):Ppxval_t;cdecl; + PX_make_date : function(pxdoc:Ppxdoc_t; year:cint; month:cint; day:cint):Ppxval_t;cdecl; + PX_make_timestamp : function(pxdoc:Ppxdoc_t; year:cint; month:cint; day:cint; hour:cint; + minute:cint; second:cint):Ppxval_t;cdecl; + PX_timestamp2string : function(pxdoc:Ppxdoc_t; value:double; format:pcchar):pcchar;cdecl; + PX_time2string : function(pxdoc:Ppxdoc_t; value:clong; format:pcchar):pcchar;cdecl; + PX_date2string : function(pxdoc:Ppxdoc_t; value:clong; format:pcchar):pcchar;cdecl; + PX_strdup : function(pxdoc:Ppxdoc_t; str:pcchar):pcchar;cdecl; + +procedure Freepxlib; +Procedure Loadpxlib(lib : String); + +implementation + +uses + SysUtils, dynlibs; + +var + hlib : tlibhandle; + +Procedure Freepxlib; + +begin + if (HLib<>NilHandle) then + begin + FreeLibrary(hlib); + hlib:=Nilhandle; + end; + PX_get_majorversion:=nil; + PX_get_minorversion:=nil; + PX_get_subminorversion:=nil; + PX_has_recode_support:=nil; + PX_has_gsf_support:=nil; + PX_is_bigendian:=nil; + PX_get_builddate:=nil; + PX_boot:=nil; + PX_shutdown:=nil; + PX_new3:=nil; + PX_new2:=nil; + PX_new:=nil; + PX_open_fp:=nil; + PX_open_file:=nil; + PX_create_file:=nil; + PX_create_fp:=nil; + PX_get_opaque:=nil; + PX_write_primary_index:=nil; + PX_read_primary_index:=nil; + PX_add_primary_index:=nil; + PX_get_record:=nil; + PX_get_record2:=nil; + PX_put_recordn:=nil; + PX_put_record:=nil; + PX_insert_record:=nil; + PX_update_record:=nil; + PX_delete_record:=nil; + PX_retrieve_record:=nil; + PX_close:=nil; + PX_delete:=nil; + PX_pack:=nil; + PX_get_fields:=nil; + PX_get_field:=nil; + PX_get_num_fields:=nil; + PX_get_num_records:=nil; + PX_get_recordsize:=nil; + PX_set_parameter:=nil; + PX_get_parameter:=nil; + PX_set_value:=nil; + PX_get_value:=nil; + PX_set_targetencoding:=nil; + PX_set_inputencoding:=nil; + PX_set_tablename:=nil; + PX_set_blob_file:=nil; + PX_set_blob_fp:=nil; + PX_has_blob_file:=nil; + PX_new_blob:=nil; + PX_open_blob_fp:=nil; + PX_open_blob_file:=nil; + PX_create_blob_fp:=nil; + PX_create_blob_file:=nil; + PX_close_blob:=nil; + PX_delete_blob:=nil; + PX_read_blobdata:=nil; + PX_read_graphicdata:=nil; + PX_read_grahicdata:=nil; + PX_get_data_alpha:=nil; + PX_get_data_bytes:=nil; + PX_get_data_double:=nil; + PX_get_data_long:=nil; + PX_get_data_short:=nil; + PX_get_data_byte:=nil; + PX_get_data_bcd:=nil; + PX_get_data_blob:=nil; + PX_get_data_graphic:=nil; + PX_put_data_alpha:=nil; + PX_put_data_bytes:=nil; + PX_put_data_double:=nil; + PX_put_data_long:=nil; + PX_put_data_short:=nil; + PX_put_data_byte:=nil; + PX_put_data_bcd:=nil; + PX_put_data_blob:=nil; + PX_SdnToGregorian:=nil; + PX_GregorianToSdn:=nil; + PX_make_time:=nil; + PX_make_date:=nil; + PX_make_timestamp:=nil; + PX_timestamp2string:=nil; + PX_time2string:=nil; + PX_date2string:=nil; + PX_strdup:=nil; +end; + +Procedure Loadpxlib(lib : String); + +begin + Freepxlib; + hlib:=LoadLibrary(Pchar(lib)); + if hlib=0 then + raise Exception.Create(format('Could not load library: %s',[lib])); + pointer(PX_get_majorversion):=GetProcAddress(hlib,'PX_get_majorversion'); + pointer(PX_get_minorversion):=GetProcAddress(hlib,'PX_get_minorversion'); + pointer(PX_get_subminorversion):=GetProcAddress(hlib,'PX_get_subminorversion'); + pointer(PX_has_recode_support):=GetProcAddress(hlib,'PX_has_recode_support'); + pointer(PX_has_gsf_support):=GetProcAddress(hlib,'PX_has_gsf_support'); + pointer(PX_is_bigendian):=GetProcAddress(hlib,'PX_is_bigendian'); + pointer(PX_get_builddate):=GetProcAddress(hlib,'PX_get_builddate'); + pointer(PX_boot):=GetProcAddress(hlib,'PX_boot'); + pointer(PX_shutdown):=GetProcAddress(hlib,'PX_shutdown'); + pointer(PX_new3):=GetProcAddress(hlib,'PX_new3'); + pointer(PX_new2):=GetProcAddress(hlib,'PX_new2'); + pointer(PX_new):=GetProcAddress(hlib,'PX_new'); + pointer(PX_open_fp):=GetProcAddress(hlib,'PX_open_fp'); + pointer(PX_open_file):=GetProcAddress(hlib,'PX_open_file'); + pointer(PX_create_file):=GetProcAddress(hlib,'PX_create_file'); + pointer(PX_create_fp):=GetProcAddress(hlib,'PX_create_fp'); + pointer(PX_get_opaque):=GetProcAddress(hlib,'PX_get_opaque'); + pointer(PX_write_primary_index):=GetProcAddress(hlib,'PX_write_primary_index'); + pointer(PX_read_primary_index):=GetProcAddress(hlib,'PX_read_primary_index'); + pointer(PX_add_primary_index):=GetProcAddress(hlib,'PX_add_primary_index'); + pointer(PX_get_record):=GetProcAddress(hlib,'PX_get_record'); + pointer(PX_get_record2):=GetProcAddress(hlib,'PX_get_record2'); + pointer(PX_put_recordn):=GetProcAddress(hlib,'PX_put_recordn'); + pointer(PX_put_record):=GetProcAddress(hlib,'PX_put_record'); + pointer(PX_insert_record):=GetProcAddress(hlib,'PX_insert_record'); + pointer(PX_update_record):=GetProcAddress(hlib,'PX_update_record'); + pointer(PX_delete_record):=GetProcAddress(hlib,'PX_delete_record'); + pointer(PX_retrieve_record):=GetProcAddress(hlib,'PX_retrieve_record'); + pointer(PX_close):=GetProcAddress(hlib,'PX_close'); + pointer(PX_delete):=GetProcAddress(hlib,'PX_delete'); + pointer(PX_pack):=GetProcAddress(hlib,'PX_pack'); + pointer(PX_get_fields):=GetProcAddress(hlib,'PX_get_fields'); + pointer(PX_get_field):=GetProcAddress(hlib,'PX_get_field'); + pointer(PX_get_num_fields):=GetProcAddress(hlib,'PX_get_num_fields'); + pointer(PX_get_num_records):=GetProcAddress(hlib,'PX_get_num_records'); + pointer(PX_get_recordsize):=GetProcAddress(hlib,'PX_get_recordsize'); + pointer(PX_set_parameter):=GetProcAddress(hlib,'PX_set_parameter'); + pointer(PX_get_parameter):=GetProcAddress(hlib,'PX_get_parameter'); + pointer(PX_set_value):=GetProcAddress(hlib,'PX_set_value'); + pointer(PX_get_value):=GetProcAddress(hlib,'PX_get_value'); + pointer(PX_set_targetencoding):=GetProcAddress(hlib,'PX_set_targetencoding'); + pointer(PX_set_inputencoding):=GetProcAddress(hlib,'PX_set_inputencoding'); + pointer(PX_set_tablename):=GetProcAddress(hlib,'PX_set_tablename'); + pointer(PX_set_blob_file):=GetProcAddress(hlib,'PX_set_blob_file'); + pointer(PX_set_blob_fp):=GetProcAddress(hlib,'PX_set_blob_fp'); + pointer(PX_has_blob_file):=GetProcAddress(hlib,'PX_has_blob_file'); + pointer(PX_new_blob):=GetProcAddress(hlib,'PX_new_blob'); + pointer(PX_open_blob_fp):=GetProcAddress(hlib,'PX_open_blob_fp'); + pointer(PX_open_blob_file):=GetProcAddress(hlib,'PX_open_blob_file'); + pointer(PX_create_blob_fp):=GetProcAddress(hlib,'PX_create_blob_fp'); + pointer(PX_create_blob_file):=GetProcAddress(hlib,'PX_create_blob_file'); + pointer(PX_close_blob):=GetProcAddress(hlib,'PX_close_blob'); + pointer(PX_delete_blob):=GetProcAddress(hlib,'PX_delete_blob'); + pointer(PX_read_blobdata):=GetProcAddress(hlib,'PX_read_blobdata'); + pointer(PX_read_graphicdata):=GetProcAddress(hlib,'PX_read_graphicdata'); + pointer(PX_read_grahicdata):=GetProcAddress(hlib,'PX_read_grahicdata'); + pointer(PX_get_data_alpha):=GetProcAddress(hlib,'PX_get_data_alpha'); + pointer(PX_get_data_bytes):=GetProcAddress(hlib,'PX_get_data_bytes'); + pointer(PX_get_data_double):=GetProcAddress(hlib,'PX_get_data_double'); + pointer(PX_get_data_long):=GetProcAddress(hlib,'PX_get_data_long'); + pointer(PX_get_data_short):=GetProcAddress(hlib,'PX_get_data_short'); + pointer(PX_get_data_byte):=GetProcAddress(hlib,'PX_get_data_byte'); + pointer(PX_get_data_bcd):=GetProcAddress(hlib,'PX_get_data_bcd'); + pointer(PX_get_data_blob):=GetProcAddress(hlib,'PX_get_data_blob'); + pointer(PX_get_data_graphic):=GetProcAddress(hlib,'PX_get_data_graphic'); + pointer(PX_put_data_alpha):=GetProcAddress(hlib,'PX_put_data_alpha'); + pointer(PX_put_data_bytes):=GetProcAddress(hlib,'PX_put_data_bytes'); + pointer(PX_put_data_double):=GetProcAddress(hlib,'PX_put_data_double'); + pointer(PX_put_data_long):=GetProcAddress(hlib,'PX_put_data_long'); + pointer(PX_put_data_short):=GetProcAddress(hlib,'PX_put_data_short'); + pointer(PX_put_data_byte):=GetProcAddress(hlib,'PX_put_data_byte'); + pointer(PX_put_data_bcd):=GetProcAddress(hlib,'PX_put_data_bcd'); + pointer(PX_put_data_blob):=GetProcAddress(hlib,'PX_put_data_blob'); + pointer(PX_SdnToGregorian):=GetProcAddress(hlib,'PX_SdnToGregorian'); + pointer(PX_GregorianToSdn):=GetProcAddress(hlib,'PX_GregorianToSdn'); + pointer(PX_make_time):=GetProcAddress(hlib,'PX_make_time'); + pointer(PX_make_date):=GetProcAddress(hlib,'PX_make_date'); + pointer(PX_make_timestamp):=GetProcAddress(hlib,'PX_make_timestamp'); + pointer(PX_timestamp2string):=GetProcAddress(hlib,'PX_timestamp2string'); + pointer(PX_time2string):=GetProcAddress(hlib,'PX_time2string'); + pointer(PX_date2string):=GetProcAddress(hlib,'PX_date2string'); + pointer(PX_strdup):=GetProcAddress(hlib,'PX_strdup'); +end; + + +finalization + Freepxlib; +end. |
