Files
harbour-core/contrib/hbwin/hbole.ch
Przemysław Czerpak 97a23295d5 2014-06-26 18:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    + added some additional error codes to win_oleErrorText() function

  * contrib/hbwin/hbole.ch
    + added OLE error code definitions with WIN_* prefix for errors returned
      by win_oleErrorText()

  * contrib/xhb/xhb.hbx
  * contrib/xhb/xhbole.prg
    + aded new function OleDefaultArg()
    % minor simplification

  * src/rtl/itemseri.c
    * do not generate RTE when wrong string is deserialized.
      Now RTE 3016 is generated only when compressed data is deserialized
      and ZLIB is not linked with final binaries so users can easy locate
      the source of problem.

  * src/vm/garbage.c
    % added missing static in s_gcSpinLock declaration

  * src/rtl/hbi18n1.c
    * typo in comment

  * src/rdd/dbf1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbsql.c
    * formatting

  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/usrrdd.c
  * src/rtl/checkbox.prg
  * src/rtl/getsys.prg
  * src/rtl/listbox.prg
  * src/rtl/menuto.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tget.prg
  * src/rtl/tgetint.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/errapi.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbinet.c
  * src/rtl/idle.c
  * src/rtl/math.c
  * src/rtl/setkey.c
  * src/vm/asort.c
  * src/vm/hashfunc.c
  * src/vm/thread.c
    * accept any EVAL item not only codeblocks. Actually it means that
      also SYMBOL items are accepted but in the future we may extend it
      and accept also objects of classes with :eval() message.

  * src/rtl/tget.prg
    ! fixed GET default PICTURE for TIMESTAMP type
      fixes https://github.com/harbour/core/issues/65
      2014-05-11 00:05 UTC+0200 Viktor Szakats
    ! fixed GET colors when _SET_INTENSITY == .F.
      2014-04-22 02:35 UTC+0200 Viktor Szakats
    % use Stuff() instead of different combinations of Left() and SubStr()

  * include/harbour.hbx
  * src/rtl/left.c
    + added new function to replace "=" operator without the SET EXACT ambiguity
      in its most common pattern of usage:
         hb_LeftEq( <cString1>, <cString2> ) -> <lResult>
      it's equivalent to this expression, but faster and shorter:
         ( Left( <cString1>, Len( <cString2> ) ) == <cString2> )
      2014-01-22 03:09 UTC+0100 Viktor Szakáts
    + added hb_LeftEqI(). Same as hb_LeftEq() but case-insensitive.
         hb_LeftEqI( <cString1>, <cString2> ) -> <lResult>
      2014-02-04 13:38 UTC+0100 Viktor Szakáts

  * include/harbour.hbx
  * src/rtl/chruni.c
    + added hb_BRAt(). Same as hb_RAt() but for raw/binary strings
      2014-06-25 19:54 UTC+0200 Viktor Szakats

  * contrib/sddsqlt3/core.c
    ! fixed missing first record of query
      2013-11-08 21:43 UTC+0100 Viktor Szakats

  ; many of above modification was borrowed directly or try to follow some
    changes in Viktor's branch - thanks.
2014-06-26 18:42:13 +02:00

143 lines
5.8 KiB
Plaintext

/*
* Harbour Project source code:
* OLE header
*
* Copyright 2012 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
* www - http://harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.txt. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#ifndef HBOLE_CH_
#define HBOLE_CH_
/* Variant types */
#define WIN_VT_EMPTY 0
#define WIN_VT_NULL 1
#define WIN_VT_I2 2
#define WIN_VT_I4 3
#define WIN_VT_R4 4
#define WIN_VT_R8 5
#define WIN_VT_CY 6
#define WIN_VT_DATE 7
#define WIN_VT_BSTR 8
#define WIN_VT_DISPATCH 9
#define WIN_VT_ERROR 10
#define WIN_VT_BOOL 11
#define WIN_VT_VARIANT 12
#define WIN_VT_UNKNOWN 13
#define WIN_VT_DECIMAL 14
#define WIN_VT_I1 16
#define WIN_VT_UI1 17
#define WIN_VT_UI2 18
#define WIN_VT_UI4 19
#define WIN_VT_I8 20
#define WIN_VT_UI8 21
#define WIN_VT_INT 22
#define WIN_VT_UINT 23
#define WIN_VT_VOID 24
#define WIN_VT_HRESULT 25
#define WIN_VT_PTR 26
#define WIN_VT_SAFEARRAY 27
#define WIN_VT_CARRAY 28
#define WIN_VT_USERDEFINED 29
#define WIN_VT_LPSTR 30
#define WIN_VT_LPWSTR 31
#define WIN_VT_RECORD 36
#define WIN_VT_INT_PTR 37
#define WIN_VT_UINT_PTR 38
#define WIN_VT_FILETIME 64
#define WIN_VT_BLOB 65
#define WIN_VT_STREAM 66
#define WIN_VT_STORAGE 67
#define WIN_VT_STREAMED_OBJECT 68
#define WIN_VT_STORED_OBJECT 69
#define WIN_VT_BLOB_OBJECT 70
#define WIN_VT_CF 71
#define WIN_VT_CLSID 72
#define WIN_VT_VERSIONED_STREAM 73
#define WIN_VT_BSTR_BLOB 0x0fff
#define WIN_VT_VECTOR 0x1000
#define WIN_VT_ARRAY 0x2000
#define WIN_VT_BYREF 0x4000
#define WIN_VT_RESERVED 0x8000
#define WIN_VT_ILLEGAL 0xffff
#define WIN_VT_ILLEGALMASKED 0x0fff
#define WIN_VT_TYPEMASK 0x0fff
/* errors explicitly recognized by win_oleErrorText() */
#define WIN_CO_E_CLASSSTRING 0x800401F3
#define WIN_OLE_E_WRONGCOMPOBJ 0x8004000E
#define WIN_REGDB_E_WRITEREGDB 0x80040151
#define WIN_REGDB_E_CLASSNOTREG 0x80040154
#define WIN_E_PENDING 0x8000000A
#define WIN_E_NOTIMPL 0x80004001
#define WIN_E_NOINTERFACE 0x80004002
#define WIN_E_POINTER 0x80004003
#define WIN_E_ABORT 0x80004004
#define WIN_E_FAIL 0x80004005
#define WIN_E_UNEXPECTED 0x8000FFFF
#define WIN_E_ACCESSDENIED 0x80070005
#define WIN_E_HANDLE 0x80070006
#define WIN_E_OUTOFMEMORY 0x8007000E
#define WIN_E_INVALIDARG 0x80070057
#define WIN_DISP_E_UNKNOWNINTERFACE 0x80020001
#define WIN_DISP_E_MEMBERNOTFOUND 0x80020003
#define WIN_DISP_E_PARAMNOTFOUND 0x80020004
#define WIN_DISP_E_TYPEMISMATCH 0x80020005
#define WIN_DISP_E_UNKNOWNNAME 0x80020006
#define WIN_DISP_E_NONAMEDARGS 0x80020007
#define WIN_DISP_E_BADVARTYPE 0x80020008
#define WIN_DISP_E_EXCEPTION 0x80020009
#define WIN_DISP_E_OVERFLOW 0x8002000A
#define WIN_DISP_E_BADINDEX 0x8002000B
#define WIN_DISP_E_UNKNOWNLCID 0x8002000C
#define WIN_DISP_E_ARRAYISLOCKED 0x8002000D
#define WIN_DISP_E_BADPARAMCOUNT 0x8002000E
#define WIN_DISP_E_PARAMNOTOPTIONAL 0x8002000F
#define WIN_DISP_E_BADCALLEE 0x80020010
#define WIN_DISP_E_NOTACOLLECTION 0x80020011
#define WIN_DISP_E_DIVBYZERO 0x80020012
#define WIN_DISP_E_BUFFERTOOSMALL 0x80020013
#endif /* HBOLE_CH_ */