Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby George » Fri Apr 18, 2008 11:30 pm

Estoy tratando de compilar/enlazar la clase TScan.prg de Rafa Carmona (The Full) pero me da error, es como si no reconociera las funciones en lenguaje C (los wrappers):

Estos son los errores:
Code: Select all  Expand view
xLINK: error: Unresolved external symbol '_TWAIN_Acquire'.

xLINK: error: Unresolved external symbol '_TWAIN_FreeNative'.

xLINK: error: Unresolved external symbol '_TWAIN_SelectImageSource'.

xLINK: error: Unresolved external symbol '_TWAIN_AcquireNative'.

xLINK: error: Unresolved external symbol '_TWAIN_AcquireToClipboard'.

xLINK: error: Unresolved external symbol '_TWAIN_AcquireMemory'.

xLINK: error: Unresolved external symbol '_TWAIN_AcquireToFilename'.

xLINK: error: Unresolved external symbol '_TWAIN_AcquireFile'.

xLINK: error: Unresolved external symbol '_TWAIN_IsAvailable'.

xLINK: error: Unresolved external symbol '_TWAIN_EasyVersion'.

xLINK: error: Unresolved external symbol '_TWAIN_State'.

xLINK: error: Unresolved external symbol '_TWAIN_SourceName'.

xLINK: error: Unresolved external symbol '_TWAIN_GetSourceName'.

xLINK: error: Unresolved external symbol '_DIB_WriteToJpeg'.

xLINK: error: Unresolved external symbol '_DIB_WriteToBmp'.

xLINK: error: Unresolved external symbol '_TWAIN_IsJpegAvailable'.

xLINK: error: Unresolved external symbol '_TWAIN_SetSaveFormat'.

xLINK: error: Unresolved external symbol '_TWAIN_GetSaveFormat'.

xLINK: error: Unresolved external symbol '_TWAIN_SetJpegQuality'.

xLINK: error: Unresolved external symbol '_TWAIN_GetJpegQuality'.

xLINK: error: Unresolved external symbol '_TWAIN_WriteNativeToFilename'.

xLINK: error: Unresolved external symbol '_TWAIN_LoadNativeFromFilename'.

xLINK: error: Unresolved external symbol '_TWAIN_SetMultiTransfer'.

xLINK: error: Unresolved external symbol '_TWAIN_GetMultiTransfer'.

xLINK: error: Unresolved external symbol '_TWAIN_SetHideUI'.

xLINK: error: Unresolved external symbol '_TWAIN_GetHideUI'.

xLINK: error: Unresolved external symbol '_TWAIN_DisableParent'.

xLINK: error: Unresolved external symbol '_TWAIN_GetDisableParent'.

xLINK: error: Unresolved external symbol '_TWAIN_RegisterApp'.

xLINK: error: Unresolved external symbol '_TWAIN_SetAppTitle'.

xLINK: error: Unresolved external symbol '_TWAIN_LoadSourceManager'.

xLINK: error: Unresolved external symbol '_TWAIN_OpenSourceManager'.

xLINK: error: Unresolved external symbol '_TWAIN_OpenDefaultSource'.

xLINK: error: Unresolved external symbol '_TWAIN_GetSourceList'.

xLINK: error: Unresolved external symbol '_TWAIN_GetNextSourceName'.

xLINK: error: Unresolved external symbol '_TWAIN_GetDefaultSourceName'.

xLINK: error: Unresolved external symbol '_TWAIN_OpenSource'.

xLINK: error: Unresolved external symbol '_TWAIN_EnableSource'.

xLINK: error: Unresolved external symbol '_TWAIN_DisableSource'.

xLINK: error: Unresolved external symbol '_TWAIN_CloseSource'.

xLINK: error: Unresolved external symbol '_TWAIN_CloseSourceManager'.

xLINK: error: Unresolved external symbol '_TWAIN_UnloadSourceManager'.

xLINK: error: Unresolved external symbol '_TWAIN_GetCurrentUnits'.

xLINK: error: Unresolved external symbol '_TWAIN_SetCurrentUnits'.

xLINK: error: Unresolved external symbol '_TWAIN_GetBitDepth'.

xLINK: error: Unresolved external symbol '_TWAIN_SetBitDepth'.

xLINK: error: Unresolved external symbol '_TWAIN_GetPixelType'.

xLINK: error: Unresolved external symbol '_TWAIN_SetCurrentPixelType'.

xLINK: error: Unresolved external symbol '_TWAIN_GetCurrentResolution'.

xLINK: error: Unresolved external symbol '_TWAIN_GetYResolution'.

xLINK: error: Unresolved external symbol '_TWAIN_SetCurrentResolution'.

xLINK: error: Unresolved external symbol '_TWAIN_SetXResolution'.

xLINK: error: Unresolved external symbol '_TWAIN_SetYResolution'.

xLINK: error: Unresolved external symbol '_TWAIN_SetContrast'.

xLINK: error: Unresolved external symbol '_TWAIN_SetBrightness'.

xLINK: error: Unresolved external symbol '_TWAIN_SetThreshold'.

xLINK: error: Unresolved external symbol '_TWAIN_GetCurrentThreshold'.

xLINK: error: Unresolved external symbol '_TWAIN_SetXferMech'.

xLINK: error: Unresolved external symbol '_TWAIN_XferMech'.

xLINK: error: Unresolved external symbol '_TWAIN_SupportsFileXfer'.

xLINK: error: Unresolved external symbol '_TWAIN_SetPaperSize'.

xLINK: error: Unresolved external symbol '_TWAIN_HasFeeder'.

xLINK: error: Unresolved external symbol '_TWAIN_IsFeederSelected'.

xLINK: error: Unresolved external symbol '_TWAIN_SelectFeeder'.

xLINK: error: Unresolved external symbol '_TWAIN_IsAutoFeedOn'.

xLINK: error: Unresolved external symbol '_TWAIN_SetAutoFeed'.

xLINK: error: Unresolved external symbol '_TWAIN_IsFeederLoaded'.

xLINK: error: Unresolved external symbol '_TWAIN_GetDuplexSupport'.

xLINK: error: Unresolved external symbol '_TWAIN_EnableDuplex'.

xLINK: error: Unresolved external symbol '_TWAIN_IsDuplexEnabled'.

xLINK: error: Unresolved external symbol '_TWAIN_HasControllableUI'.

xLINK: error: Unresolved external symbol '_TWAIN_SetIndicators'.

xLINK: error: Unresolved external symbol '_TWAIN_Compression'.

xLINK: error: Unresolved external symbol '_TWAIN_SetCompression'.

xLINK: error: Unresolved external symbol '_TWAIN_Tiled'.

xLINK: error: Unresolved external symbol '_TWAIN_SetTiled'.

xLINK: error: Unresolved external symbol '_TWAIN_PlanarChunky'.

xLINK: error: Unresolved external symbol '_TWAIN_SetPlanarChunky'.

xLINK: error: Unresolved external symbol '_TWAIN_PixelFlavor'.

xLINK: error: Unresolved external symbol '_TWAIN_SetPixelFlavor'.

xLINK: error: Unresolved external symbol '_TWAIN_SetLightPath'.

xLINK: error: Unresolved external symbol '_TWAIN_SetAutoBright'.

xLINK: error: Unresolved external symbol '_TWAIN_SetGamma'.

xLINK: error: Unresolved external symbol '_TWAIN_SetShadow'.

xLINK: error: Unresolved external symbol '_TWAIN_SetHighlight'.

xLINK: error: Unresolved external symbol '_TWAIN_SetImageLayout'.

xLINK: error: Unresolved external symbol '_TWAIN_ResetImageLayout'.

xLINK: error: Unresolved external symbol '_TWAIN_GetImageLayout'.

xLINK: error: Unresolved external symbol '_TWAIN_GetDefaultImageLayout'.

xLINK: error: Unresolved external symbol '_DIB_GetFromClipboard'.





Este es el codigo de la clase Tscan32.prg de Rafa.

Se necesita algun otro archivo para compilar esta clase?

George


Code: Select all  Expand view
#INCLUDE "HBCLASS.CH"


// Returns the TWAIN Protocol State per the spec.
#define TWAIN_PRESESSION      1   // source manager not loaded
#define TWAIN_SM_LOADED         2   // source manager loaded
#define TWAIN_SM_OPEN         3   // source manager open
#define TWAIN_SOURCE_OPEN      4   // source open but not enabled
#define TWAIN_SOURCE_ENABLED   5   // source enabled to acquire
#define TWAIN_TRANSFER_READY   6   // image ready to transfer
#define TWAIN_TRANSFERRING      7   // image in transit

***************************************************************************
*
* CLASS TSCAN32
* 2003(c)- by Rafa Carmona ( TheFull )
* Beta 1.0
* Beta 2.0  New. Support Get ClipBoard to hDib.
*           New. ClipboardToFile( cFile ) -> Save File Jpg into Clipboard.
*
* Beta 3.0  New. ReWrite Method End, conflict GPF's  ;)
*
* Beta 4.0  Return parameters in format Logical. Change hb_retni() with hb_retl()
*
****************************************************************************

CLASS TSCAN32

      DATA hWnd
      DATA cFile
      DATA hDib
      DATA lError INIT .F.
      DATA nState
      DATA lBmp   INIT .F.

      METHOD New( cFile, hWnd ) CONSTRUCTOR
      METHOD End()
      METHOD Register()
      MESSAGE FreeNative METHOD End()
      MESSAGE Close      METHOD End()

      METHOD DigiToFile( cFile )
      METHOD DibToJpeg( cFile )  INLINE TW_DibWJpg( ::hDib, cFile )
      METHOD DibToBmp( cFile )   INLINE TW_DibWBmp( ::hDib, cFile )
      METHOD SetJpegQ( nQuality) INLINE TW_SetJpegQuality( nQuality )// 1..100 Default 75

      METHOD Acquire()           INLINE TW_Acquire( ::hWnd )
      METHOD AcquireClipBoard()  INLINE TW_AcquireToClipboard( ::hWnd , 0 )

      METHOD OpenDefault()
      METHOD OpenSource()
      METHOD EnableSource()     INLINE TW_EnableSource( ::hWnd )
      METHOD Choose()           INLINE TW_SelectImageSource()

      // **********    Basic TWAIN Inquiries **********************************
      METHOD IsAvailable()          INLINE TW_Avail()
      METHOD Version()              INLINE ( Str( TW_EasyVersion() / 100 ) )
      METHOD State()                INLINE (::nState := TW_State() )
      METHOD SourceName()           INLINE TW_SourceName()
      METHOD GetSourceName( cName ) INLINE TW_GetSourceName( cName )


      //************   Global Options *****************************************
      METHOD SetHide( lHide )     INLINE IIF( lHide , TW_SetHideUI(1), TW_SetHideUI(0) )


      //-*********** High-level Capability Negotiation Functions **************
      // These functions should only be called in State 4 (TWAIN_SOURCE_OPEN)
      METHOD PixelType( nType ) INLINE ( ::State(),;
                                if( ::nState >= TWAIN_SOURCE_OPEN,;
                                                TW_SetCurrentPixelType( nType ),0 ) )
      METHOD SetRes( dRes )     INLINE ( ::State(),;
                                if( ::nState >= TWAIN_SOURCE_OPEN,;
                                                TW_SetCurrentResolution( dRes ),0) )
      METHOD SetXRes( dRes )            INLINE TW_SetXResolution( dRes )
      METHOD SetYRes( dRes )            INLINE TW_SetYResolution( dRes )
      METHOD SetUnits( nUnits )         INLINE TW_SETCURRENTUNITS( nUnits )
      METHOD SetContrats( dContrats)    INLINE TW_SETCONTRATS( dContrats  )
      METHOD SetBright( dBright )       INLINE TW_SETBRIGHTNESS( dBright )
      METHOD SetPaper( nPaper )         INLINE TW_SETPAPERSIZE( nPaper )
      METHOD GetResolution()            INLINE TW_GETCURRENTRESOLUTION()


      //******** Image Layout (Region of Interest) **********************
      METHOD RegionSet( nLeft,nTop, nRigth, nBottom )  INLINE TW_SetImageLayout( nLeft,nTop, nRigth, nBottom )
      METHOD RegionReset()                             INLINE TW_ResetImageLayout()
      METHOD RegionGet( L,T,R,B )                      INLINE TW_GetImageLayout(@L,@T,@R,@B)
      METHOD RegionGetDefault( L,T,R,B )               INLINE TW_GetDefaultImageLayout(@L,@T,@R,@B)

      METHOD ClipBoardToFile( cFile )
      METHOD DIB_GetFromClipboard() INLINE TW_DIB_GetFromClipboard()

      // feeader
      METHOD HasFeeder()    INLINE TW_HasFeeder()
      METHOD IsFeederLoad() INLINE TW_IsFeederLoaded()
      METHOD IsAutoFeedOn() INLINE TW_IsAutoFeedon()
      METHOD SetAutoFedd( lOnOff )  INLINE TW_SetAutoFedd( lOnOff )
      METHOD SelectFeeder( lOnOff )  INLINE TW_SelectFeeder( lOnOff )

ENDCLASS

***********************************************************
***********************************************************
METHOD New( cFile, hWnd ) CLASS TSCAN32

       IF Empty( hWnd )
          ::hWnd := GetActiveWindow()
       ENDIF

       IF Empty( cFile )
          ::cFile := "TestTscan32.jpg"
       ELSE
          ::cFile := cFile
       ENDIF


       IF !::IsAvailable()
          ::lError := .T.
         // MsgStop( "TWAIN no found","Attention!") // Only Fivewin
       ENDIF

       IF !::lError
          ::Register( 1,0,0,0,"1.0 Beta","by Rafa Carmona","Scan by Thefull","Scan For [x]Harbour" )
       ENDIF
       ::OpenSource()
       ::OpenDefault()

RETURN Self

**********************************************************************
* Comprueba que esta disponible TWAIN y cargalo
**********************************************************************
METHOD OpenSource() CLASS TSCAN32
   Local nResult := TW_LoadSourceManager()

   DO CASE
      CASE nResult = -1
           ::lError := .T.
           // MsgStop("Error Driver TWAIN"," ¿ Insufficient Memory ?")
           Return Self
   ENDCASE

Return Self

***********************************************************************
*  Abre TWAIN el ultimo que fue seleccionado desde Select ..Dialog
* Si no puede cargarlo solicita seleccionar Source.
***********************************************************************
METHOD OpenDefault() CLASS TSCAN32
       Local nResult := TW_OpenDefaultSource()

       DO CASE
          CASE nResult = 0
               ::Choose()
          CASE nResult = -1
               ::lError := .T.
          OTHERWISE
               ::lError := .F.
       ENDCASE

Return Self

**************************************************************************
* Liberamos hDib y cerramos el dispositivo
**************************************************************************
METHOD End() CLASS TSCAN32

   if !Empty( ::hDib )
      TW_Free( ::hDib )
   endif

   TW_CloseSourceManager( ::hWnd ) // Close para evitar GPF

Return NIL

***************************************************************************
* Registra la aplicacion
***************************************************************************
METHOD Register( nMajor ,nMinor,nLanguage,nCountry,cVersion,cName,cFamily,cProduct ) CLASS TSCAN32

       TW_REGISTERAPP( nMajor ,nMinor,nLanguage,nCountry,;
                       cVersion,cName,cFamily,cProduct )

Return Self

***********************************************************
* Digitaliza hacia un fichero .jpg
***********************************************************
METHOD DigiToFile( cFile )

       if EMPTY( cFile )
          cFile := ::cFile
       endif

       IF !::lError
          ::hDib := ::Acquire()         // Importar
       ENDIF

       IF !Empty( ::hDib )
          IF ::lBmp                      // Format bmp
             ::DibToBmp( cFile )       // Si no hacemos uso de BMP
          ELSE
             IF TW_IsJpg()              // Si puede hacer uso del JPG
                ::DibToJpeg( cFile )
             ELSE
                ::DibToBmp( cFile )       // Si no hacemos uso de BMP
             ENDIF
          ENDIF
       ENDIF

Return Self


************************************************************************
* Save content clipboard into to file.jpg
************************************************************************
METHOD ClipBoardToFile( cFile ) CLASS TSCAN32
       Local hDib, nError

       IF Empty( cFile )
          ::cFile := "TestTscan32.jpg"
       ELSE
          ::cFile := cFile
       ENDIF

        hDib := ::DIB_GetFromClipboard()


       IF !Empty( hDib )

           IF ::lBmp
              TW_DibWBmp(  hDib, ::cFile )
           ELSE
              IF TW_IsJpg()              // Si puede hacer uso del JPG
                 TW_DibWJpg( hDib,  ::cFile )
              ELSE
                 TW_DibWBmp(  hDib, ::cFile )
              ENDIF
           ENDIF

           TW_Free( hDib )

       ENDIF

RETURN Self
/* -----------------------------------------------------------------
  Implementation Language C for [x]Harbour(WIN32)
  2003(c)- by Rafa Carmona ( TheFull )

  Wrappers for EZTW32.DLL the DosAdi.

-------------------------------------------------------------------- */
#pragma BEGINDUMP

#include <windows.h>
#include "eztwain.h"
#include "hbapi.h"


/*--------- Top-Level Calls -------------------------------------*/

HB_FUNC( TW_ACQUIRE )  // hWnd
{
  hb_retnl( ( LONG ) TWAIN_Acquire( ( HWND ) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_FREE )     // hDib
{
  TWAIN_FreeNative( ( HANDLE ) hb_parnl( 1 ) );
  hb_ret();
}

HB_FUNC( TW_SELECTIMAGESOURCE )  // hWnd
{
  hb_retni( TWAIN_SelectImageSource( ( HWND ) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_ACQUIRENATIVE )  // hWnd, nPixTypes
{
  hb_retnl( ( LONG )TWAIN_AcquireNative( ( HWND ) hb_parnl( 1 ), (unsigned) hb_parni(2) ) );
}

HB_FUNC( TW_ACQUIRETOCLIPBOARD )  // hWnd, nPixTypes
{
  hb_retl( TWAIN_AcquireToClipboard( ( HWND ) hb_parnl( 1 ), (unsigned) hb_parni(2) ) );
}

HB_FUNC( TW_ACQUIREMEMORY )  // hWnd
{
  hb_retnl( ( LONG )TWAIN_AcquireMemory( ( HWND ) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_ACQUIRETOFILENAME )  // hWnd, cFileName
{
  hb_retni( TWAIN_AcquireToFilename( ( HWND ) hb_parnl( 1 ), hb_parc( 2 ) ) );
}

HB_FUNC( TW_ACQUIREFILE )  // hWnd, nFF, cFileName
{
  hb_retni( TWAIN_AcquireFile( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ) ,hb_parc( 3 ) ) );
}


//--------- Basic TWAIN Inquiries

HB_FUNC( TW_AVAIL )
{
  hb_retl( TWAIN_IsAvailable()  );
}

HB_FUNC( TW_EASYVERSION)
{
  hb_retni( TWAIN_EasyVersion()  );
}

HB_FUNC( TW_STATE )
{
  hb_retni( TWAIN_State() );
}

HB_FUNC( TW_SOURCENAME )
{
  hb_retc( TWAIN_SourceName() );
}

HB_FUNC( TW_GETSOURCENAME )   // pzName
{
  TWAIN_GetSourceName( (LPSTR) hb_parc( 1 ) );
  hb_ret();
}


//--------- DIB handling utilities ---------

HB_FUNC( TW_DIBWJPG ) // hDib, cName
{
  hb_parni( DIB_WriteToJpeg( ( HANDLE ) hb_parnl(1), hb_parc( 2 ) ) );
}

HB_FUNC( TW_DIBWBMP ) // hDib, cName
{
  hb_parni( DIB_WriteToBmp( ( HANDLE ) hb_parnl(1), hb_parc( 2 ) ) );
}


//--------- File Read/Write

HB_FUNC( TW_ISJPG )
{
  hb_retl( TWAIN_IsJpegAvailable() );
}

HB_FUNC( TW_SETSAVEFORMAT )
{
  hb_retni( TWAIN_SetSaveFormat( hb_parni( 1 ) ) );
}

HB_FUNC( TW_GETSAVEFORMAT )
{
  hb_retni( TWAIN_GetSaveFormat() );
}

HB_FUNC( TW_SETJPEGQUALITY ) // nQuality 1...100
{
  TWAIN_SetJpegQuality( hb_parni( 1 ) );
  hb_ret();
}

HB_FUNC( TW_GETJPEGQUALITY )
{
  hb_retni( TWAIN_GetJpegQuality() );
}

HB_FUNC( TW_WRITENATIVETOFILENAME )
{
  hb_retni( TWAIN_WriteNativeToFilename( (HANDLE) hb_parnl(1), hb_parc(2) ));
}

HB_FUNC( TW_LOADNATIVEFROMFILENAME )
{
  hb_retnl( (LONG) TWAIN_LoadNativeFromFilename( hb_parc( 1 ) ) );
}



//--------- Global Options ----------------------------------------------
HB_FUNC( TW_SETMULTITRANSFER )
{
  TWAIN_SetMultiTransfer( hb_parni( 1 ) );
  hb_ret();
}

HB_FUNC( TW_GETMULTITRANSFER )
{
  hb_retni( TWAIN_GetMultiTransfer() );
}

HB_FUNC( TW_SETHIDEUI  ) // nHide
{
  TWAIN_SetHideUI( hb_parni( 1) );
  hb_ret();
}

HB_FUNC( TW_GETHIDEUI  )
{
  hb_retni( TWAIN_GetHideUI() );
}


HB_FUNC( TW_DISABLEPARENT )
{
  TWAIN_DisableParent( hb_parni( 1 ) );
  hb_ret();
}

HB_FUNC( TW_GETDISABLEPARENT )
{
  hb_retni( TWAIN_GetDisableParent() );
}

HB_FUNC( TW_REGISTERAPP )
{

TWAIN_RegisterApp( hb_parni(1),hb_parni(2),hb_parni(3),hb_parni(4),
                    hb_parc(5), hb_parc(6),
                    hb_parc(7), hb_parc(8) );
hb_ret();
}

HB_FUNC( TW_SETAPPTITLE )
{
  TWAIN_SetAppTitle( hb_parc( 1 ) );
  hb_ret();
}




//--------- TWAIN State Control ---------------------------------------

HB_FUNC( TW_LOADSOURCEMANAGER )
{
  hb_retni( TWAIN_LoadSourceManager() );
}

HB_FUNC( TW_OPENSOURCEMANAGER )  // hWnd
{
  hb_retni( TWAIN_OpenSourceManager( ( HWND ) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_OPENDEFAULTSOURCE )
{
  hb_retni( TWAIN_OpenDefaultSource() );
}

HB_FUNC( TW_GETSOURCELIST )
{
  hb_retni( TWAIN_GetSourceList() );
}

HB_FUNC( TW_GETNEXTSOURCENAME )
{
  hb_retni( TWAIN_GetNextSourceName( hb_parc( 1 ) ) );
}

HB_FUNC( TW_GETDEFAULTSOURCENAME )
{
  hb_retni( TWAIN_GetDefaultSourceName( hb_parc( 1 ) ));
}

HB_FUNC( TW_OPENSOURCE )
{
  hb_retni( TWAIN_OpenSource( hb_parc( 1 ) ) );
}

HB_FUNC( TW_ENABLESOURCE )       // hWnd
{
  hb_retni( TWAIN_EnableSource( ( HWND ) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_DISABLESOURCE )
{
  hb_retni( TWAIN_DisableSource( ) );

}

HB_FUNC( TW_CLOSESOURCE )
{
  hb_retni( TWAIN_CloseSource() );
}

HB_FUNC( TW_CLOSESOURCEMANAGER )
{
  hb_retni( TWAIN_CloseSourceManager( (HWND) hb_parnl( 1 ) ) );
}

HB_FUNC( TW_UNLOADSOURCEMANEGER )
{
  hb_retni( TWAIN_UnloadSourceManager() );
}



//--------- High-level Capability Negotiation Functions --------------
// These functions should only be called in State 4 (TWAIN_SOURCE_OPEN)

HB_FUNC( TW_GETCURRENTUNITS )
{
  hb_retni( TWAIN_GetCurrentUnits() );
}

HB_FUNC( TW_SETCURRENTUNITS ) // nUnits
{
  hb_retni( TWAIN_SetCurrentUnits( hb_parni( 1 ) ) );
}

HB_FUNC( TW_GETBITDEPTH )
{
  hb_retni( TWAIN_GetBitDepth() );
}

HB_FUNC( TW_SETBITDEPTH )
{
  hb_retni( TWAIN_SetBitDepth( hb_parni( 1 ) ) );
}

HB_FUNC( TW_GETPIXELTYPE )
{
  hb_retni( TWAIN_GetPixelType() );
}

HB_FUNC( TW_SETCURRENTPIXELTYPE )  // nBits
{
  hb_retni( TWAIN_SetCurrentPixelType( hb_parni( 1 ) ) );
}

HB_FUNC( TW_GETCURRENTRESOLUTION )
{
  hb_retnd( TWAIN_GetCurrentResolution());
}

HB_FUNC( TW_GETYRESOLUTION )
{
  hb_retnd( TWAIN_GetYResolution());
}

HB_FUNC( TW_SETCURRENTRESOLUTION )  // dRes
{
  hb_retni( TWAIN_SetCurrentResolution( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_SETXRESOLUTION )
{
  hb_retni( TWAIN_SetXResolution( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_SETYRESOLUTION )
{
  hb_retni( TWAIN_SetYResolution( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_SETCONTRATS ) //dCon
{
  hb_retni( TWAIN_SetContrast( hb_parnd( 1 ) ) ); // -1000....+1000
}

HB_FUNC( TW_SETBRIGHTNESS ) //dBri
{
  hb_retni( TWAIN_SetBrightness( hb_parnd( 1 ) ) ); // -1000....+1000
  }

HB_FUNC( TW_SETTHRESHOLD )
{
  hb_retni( TWAIN_SetThreshold( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_GETCURRENTTHRESHOLD )
{
  hb_retnd( TWAIN_GetCurrentThreshold() );
}

HB_FUNC( TW_SETXFERMECH )
{
  hb_retni( TWAIN_SetXferMech( hb_parni( 1 ) ) );
}

HB_FUNC( TW_XFERMECH )
{
  hb_retni( TWAIN_XferMech() );
}

HB_FUNC( TW_SUPPORTSFILEXFER )
{
  hb_retni( TWAIN_SupportsFileXfer() );
}

HB_FUNC( TW_SETPAPERSIZE ) // nTypePaper
{
  hb_retni( TWAIN_SetPaperSize( hb_parni( 1 ) ) );
}

//-------- Document Feeder ---------------------------------

HB_FUNC( TW_HASFEEDER )
{
  hb_retl( TWAIN_HasFeeder() );
}

HB_FUNC( TW_ISFEEDERSELECTED )
{
  hb_retl( TWAIN_IsFeederSelected() );
}

HB_FUNC( TW_SELECTFEEDER )
{
  hb_retl( TWAIN_SelectFeeder( hb_parl( 1 ) ) );
}

HB_FUNC( TW_ISAUTOFEEDON )
{
  hb_retl( TWAIN_IsAutoFeedOn() );
}

HB_FUNC( TW_SETAUTOFEDD )
{
  hb_retl( TWAIN_SetAutoFeed( hb_parl( 1 ) ) );
}

HB_FUNC( TW_ISFEEDERLOADED )
{
  hb_retl( TWAIN_IsFeederLoaded() );
}

//-------- Duplex Scanning ------------------------------------------
HB_FUNC( TW_GETDUPLEXSUPPORT )
{
  hb_retni( TWAIN_GetDuplexSupport() );
}

HB_FUNC( TW_ENABLEDUPLEX )
{
  hb_retni( TWAIN_EnableDuplex( hb_parni( 1 ) ) );
}

HB_FUNC( TW_ISDUPLEXENABLED )
{
  hb_retl( TWAIN_IsDuplexEnabled() );
}

//--------- Other 'exotic' capabilities --------

HB_FUNC( TW_HASCONTROLLABLEUI )
{
  hb_retni( TWAIN_HasControllableUI() );
}

HB_FUNC( TW_SETINDICATORS )
{
  hb_retni( TWAIN_SetIndicators( hb_parl( 1 ) ) );
}

HB_FUNC( TW_COMPRESSION )
{
  hb_retni( TWAIN_Compression() );
}

HB_FUNC( TW_SETCOMPRESSION )
{
  hb_retni( TWAIN_SetCompression( hb_parni( 1 ) ) );
}

HB_FUNC( TW_TILED )
{
  hb_retl( TWAIN_Tiled() );
}

HB_FUNC( TW_SETTILED )
{
  hb_retni( TWAIN_SetTiled( hb_parl( 1 ) ) );
}

HB_FUNC( TW_PLANARCHUNKY )
{
  hb_retni( TWAIN_PlanarChunky() );
}

HB_FUNC( TW_SETPLANARCHUNKY )
{
  hb_retni( TWAIN_SetPlanarChunky( hb_parni( 1 ) ) );
}

HB_FUNC( TW_PIXELFLAVOR )
{
  hb_retni( TWAIN_PixelFlavor() );
}

HB_FUNC( TW_SETPIXELFLAVOR )
{
  hb_retni( TWAIN_SetPixelFlavor( hb_parni( 1 ) ) );
}

HB_FUNC( TW_SETLIGHTPATH )
{
  hb_retni( TWAIN_SetLightPath( hb_parl( 1 ) ) );
}

HB_FUNC( TW_SETAUTOBRIGHT )
{
  hb_retni( TWAIN_SetAutoBright( hb_parl( 1 ) ) );
}

HB_FUNC( TW_SETGAMMA )
{
  hb_retni( TWAIN_SetGamma( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_SETSHADOW )
{
  hb_retni( TWAIN_SetShadow( hb_parnd( 1 ) ) );
}

HB_FUNC( TW_SETHIGHLIGHT )
{
  hb_retni( TWAIN_SetHighlight( hb_parnd( 1 ) ) );
}
//--------- Image Layout (Region of Interest) --------


HB_FUNC( TW_SETIMAGELAYOUT )   // left, top, right, bottom
{
  hb_retni( TWAIN_SetImageLayout( hb_parnd( 1 ),hb_parnd( 2 ),hb_parnd( 3 ),hb_parnd( 4 ) ) );
}

HB_FUNC( TW_RESETIMAGELAYOUT )
{
  TWAIN_ResetImageLayout();
  hb_ret();
}

HB_FUNC( TW_GETIMAGELAYOUT )
{
  double L,T,R,B;
  int nRet;

  nRet = TWAIN_GetImageLayout( &L,&T,&R,&B );

  hb_stornd( L, 1 );
  hb_stornd( T, 2 );
  hb_stornd( R, 3 );
  hb_stornd( B, 4 );
  hb_retni( nRet );
}

HB_FUNC( TW_GETDEFAULTIMAGELAYOUT )
{
  double L,T,R,B;
  int nRet;

  nRet = TWAIN_GetDefaultImageLayout( &L, &T, &R, &B);

  hb_stornd( L, 1 );
  hb_stornd( T, 2 );
  hb_stornd( R, 3 );
  hb_stornd( B, 4 );
  hb_retni( nRet );
}

//HANDLE EZTAPI DIB_GetFromClipboard(void);
HB_FUNC( TW_DIB_GETFROMCLIPBOARD )
{
hb_retnl( (LONG) DIB_GetFromClipboard() );
}

// para no depender de Five, y harbour poder el solito trabajar ;)
HB_FUNC ( GETACTIVEWINDOW )
{
  hb_retnl( ( LONG ) GetActiveWindow() );
}

#pragma ENDDUMP


George
 
Posts: 724
Joined: Tue Oct 18, 2005 6:49 pm

que es Tscan32.prg

Postby AIDA » Tue Apr 22, 2008 8:27 pm

Hola

Que es el Tscan32.prg para que es

disculpa mi curiosidad :oops:


Saludos :wink:

Aida
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Postby George » Wed Apr 23, 2008 9:11 pm

Aida,

Es un aporte de parte de nuestro amigo Rafa Carmona (The Full).
Esta clase nos permite escanear documentos desde nuestras aplicaciones.

Yo uso la clase de L. Gadaleta y funciona 100% perfecto, pero me gsutaria tambien evaluar esta clase de "The Full" que dicen nuestros compañeros del foro es muy completa y facil de usar

Saludos,

George
George
 
Posts: 724
Joined: Tue Oct 18, 2005 6:49 pm

Postby jose_murugosa » Thu Apr 24, 2008 2:14 pm

>Estoy tratando de compilar/enlazar la clase TScan.prg de Rafa Carmona (The Full) pero me da error, es como si no reconociera las funciones en lenguaje C (los wrappers)...


Aquí está la versión que tengo (creo es la última) y no he tenido nunca problemas de compilación, hallaras los archivos vrc, que si usas verce te permiten efectuar la compilación sin problemas, ojalá ayude.


http://www.mediafire.com/?jgjosjagqhe
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1144
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby George » Thu Apr 24, 2008 3:09 pm

Gracias Jose.

Sigo teniendo los mismos problemas de error al tratar de compilar las llamadas a las funciones C que estan en la clase TSCAN.PRG.

Quizas se deba a que estoy usando xHarbour Comercial y no Harbour.

Si Antonio lee este mensaje, o alguno de nuestros companeros expertos en C, talvez me den alguna pista de como resolver este problema.

Saludos,

George
George
 
Posts: 724
Joined: Tue Oct 18, 2005 6:49 pm

Postby jose_murugosa » Thu Apr 24, 2008 3:11 pm

George wrote:Gracias Jose.

Sigo teniendo los mismos problemas de error al tratar de compilar las llamadas a las funciones C que estan en la clase TSCAN.PRG.

Quizas se deba a que estoy usando xHarbour Comercial y no Harbour.

Si Antonio lee este mensaje, o alguno de nuestros companeros expertos en C, talvez me den alguna pista de como resolver este problema.

Saludos,

George


Ah, lamento, es una posibilidad que ese sea el problema, lamento no haber podido ayudarte.

Pero puedes derivar la consulta a la gente de xharbour.
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1144
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby thefull » Thu Apr 24, 2008 3:28 pm

George wrote:Gracias Jose.

Sigo teniendo los mismos problemas de error al tratar de compilar las llamadas a las funciones C que estan en la clase TSCAN.PRG.

Quizas se deba a que estoy usando xHarbour Comercial y no Harbour.

Si Antonio lee este mensaje, o alguno de nuestros companeros expertos en C, talvez me den alguna pista de como resolver este problema.

Saludos,

George


Yo creo que es problema del xLink, ahi no te puedo ayudar.
Funciona perfectamente en Harbour y xHarbour, quizás el soporte del xHarbour comercial tenga una mejor idea de que pueda ser.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 729
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

HOLA

Postby AIDA » Fri Apr 25, 2008 5:12 pm

OOOOOOH :shock:

ES PARA USAR UN ESCANER EN MIS APLICACIONES

ESA NO ME LA SABIA :D

GRACIAS POR EL DATO Y DONDE ENCUENTRO ESOS PROGRAMITAS :D

SALUDOS

AIDA
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: HOLA

Postby jose_murugosa » Sat Apr 26, 2008 3:09 am

AIDA wrote:OOOOOOH :shock:
DONDE ENCUENTRO ESOS PROGRAMITAS :D


En el foro de utilidades:
http://www.fivetechsoft.com/forums/view ... ht=tscan32
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1144
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby Manuel Aranda » Wed Jun 03, 2009 4:27 pm

Estoy tratando de usar esta clase pero obtengo el siguiente error al compilar/enlazar:

Fatal: Unable to open file 'MIS.LIB'

¿Aparte de tscan32.lib y twain.lib hay que incluir alguna librería mas? Parece como si faltara mis.lib ¿Donde la consigo?
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby AIDA » Fri Jun 05, 2009 5:11 am

Hola Manuel yo lo tengo funcionando si gustas te lo mando a tu correo :D

Saluditos

Aida :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby Manuel Aranda » Fri Jun 05, 2009 4:11 pm

Muchas gracias Aída. Te lo agradezco enormemente. Este es mi e-mail arandarosalesarrobatelefonica.net
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby AIDA » Sat Jun 06, 2009 1:00 am

Hola ya te lo mande a tu correo

Saluditos :D
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Error al tratar de compilar TSCAN.PRG de Rafa Carmona

Postby Manuel Aranda » Sat Jun 06, 2009 10:26 am

Muchas gracias, Aída. Funciona perfectamente. En los archivos que yo tenía, algo raro debería de haber pues me pedía una tal MIS.LIB. Con los tuyos todo perfecto.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 15 guests