Problem linking with Xharbour commercial

Problem linking with Xharbour commercial

Postby Massimo Linossi » Wed Nov 11, 2009 9:31 am

Hi to all.
I'm converting a old Clipper and Fw software with the last FWH and Xharbour commercial and I have some linking errors.

xLINK: error: Unresolved external symbol '??2@YAPAXI@Z referenced from Fivehcm.lib(ACTX.obj)'.
xLINK: error: Unresolved external symbol '??3@YAXPAX@Z referenced from Fivehcm.lib(ACTX.obj)'.
xLINK: error: Unresolved external symbol '_OleUIPasteSpecialA referenced from Fivehcm.lib(RICHEDIT.obj)'.
xLINK: error: Unresolved external symbol '_GetFileVersionInfoSizeA referenced from Fivehcm.lib(RICHEDIT.obj)'.
xLINK: error: Unresolved external symbol '_GetFileVersionInfoA referenced from Fivehcm.lib(RICHEDIT.obj)'.
xLINK: error: Unresolved external symbol '_VerQueryValueA referenced from Fivehcm.lib(RICHEDIT.obj)'.
xLINK: fatal error: 6 unresolved external(s).

What lib must I include ?
Thanks a lot.

Massimo.
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Re: Problem linking with Xharbour commercial

Postby Antonio Linares » Wed Nov 11, 2009 12:54 pm

Massimo,

Please review this topic:
viewtopic.php?p=87279#p87279

The solution is explained there, thanks :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42081
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problem linking with Xharbour commercial

Postby Massimo Linossi » Wed Nov 11, 2009 4:22 pm

Hi Antonio.
Thanks, now I can compile and link.
But I'm using an old Tsbrowse library, with some changes, and I must recompile it.
There are some errors during compilation. Is there something I can change ?
Thanks a lot.

Type: C >>>xhb.exe -o"obj\TSMULTI.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSMULTI.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSMULTI.obj'...

Type: C >>>xhb.exe -o"obj\BTNDOWN.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "BTNDOWN.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\BTNDOWN.obj'...

Type: C >>>xhb.exe -o"obj\SCRLLBAR.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "SCRLLBAR.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\SCRLLBAR.obj'...

Type: C >>>xhb.exe -o"obj\TSBROWSE.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSBROWSE.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSBROWSE.obj'...

Type: C >>>xhb.exe -o"obj\TSBTNGET.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSBTNGET.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSBTNGET.obj'...

Type: C >>>xhb.exe -o"obj\TSCOLUMN.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSCOLUMN.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSCOLUMN.obj'...

Type: C >>>xhb.exe -o"obj\TSCOMBO.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSCOMBO.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSCOMBO.obj'...

Type: C >>>xhb.exe -o"obj\TSGET.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "TSGET.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\TSGET.obj'...

Type: C >>>xhb.exe -o"obj\SBMSGITA.c" -m -n -pOobj\ -q -gc0 -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"c:\fwh\include" -I"C:\XHB\include" -I"C:\XHB\include\w32" "SBMSGITA.PRG"<<<

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633)
Copyright 1999-2009, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'obj\SBMSGITA.obj'...

Type: C >>>xcc.exe -Fo"obj\TSBFUNCS.obj" -Ot -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"C:\XHB\include" -I"C:\XHB\c_include" -I"C:\XHB\c_include\win" -I"C:\XHB\c_include\msvc" "c:\fwh\tsbrowse\c\TSBFUNCS.C"<<<

c:\fwh\include\fwHarb.h(45): warning: [ISO] No newline at end of file.

c:\fwh\tsbrowse\c\TSBFUNCS.C(80): warning: Conversion from 'struct HBRUSH__ *' to 'unsigned int' is undefined.

c:\fwh\tsbrowse\c\TSBFUNCS.C(528): warning: Missing prototype for '_reta'.


Type: C >>>xcc.exe -Fo"obj\GETBTN.obj" -Ot -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"C:\XHB\include" -I"C:\XHB\c_include" -I"C:\XHB\c_include\win" -I"C:\XHB\c_include\msvc" "c:\fwh\tsbrowse\c\GETBTN.C"<<<

c:\fwh\include\fwHarb.h(45): warning: [ISO] No newline at end of file.


Type: C >>>xcc.exe -Fo"obj\SCROLL.obj" -Ot -D__HARBOUR__ -D__FLAT__ -I"c:\fwh\include" -I"c:\xhb\c_include\win" -I"C:\XHB\include" -I"C:\XHB\c_include" -I"C:\XHB\c_include\win" -I"C:\XHB\c_include\msvc" "c:\fwh\tsbrowse\c\SCROLL.C"<<<

c:\fwh\include\fwHarb.h(45): warning: [ISO] No newline at end of file.

c:\fwh\tsbrowse\c\SCROLL.C(52): warning: Missing type specifier.

c:\fwh\tsbrowse\c\SCROLL.C(75): warning: Missing return value.

c:\fwh\tsbrowse\c\SCROLL.C(80): warning: Missing type specifier.

c:\fwh\tsbrowse\c\SCROLL.C(101): warning: Missing return value.

c:\fwh\tsbrowse\c\SCROLL.C(106): warning: Missing type specifier.

c:\fwh\tsbrowse\c\SCROLL.C(124): warning: Missing prototype for '_reta'.

c:\fwh\tsbrowse\c\SCROLL.C(128): warning: Missing return value.

c:\fwh\tsbrowse\c\SCROLL.C(133): warning: Missing type specifier.

c:\fwh\tsbrowse\c\SCROLL.C(140): warning: Missing return value.

c:\fwh\tsbrowse\c\SCROLL.C(145): warning: Missing type specifier.

c:\fwh\tsbrowse\c\SCROLL.C(160): warning: Missing return value.

Type: C >>>xlib.exe -out:"lib\tsbrowse.lib" "obj\TSMULTI.obj" "obj\BTNDOWN.obj" "obj\SCRLLBAR.obj" "obj\TSBROWSE.obj" "obj\TSBTNGET.obj" "obj\TSCOLUMN.obj" "obj\TSCOMBO.obj" "obj\TSGET.obj" "obj\SBMSGITA.obj" "obj\TSBFUNCS.obj" "obj\GETBTN.obj" "obj\SCROLL.obj" <<<
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Re: Problem linking with Xharbour commercial

Postby Antonio Linares » Wed Nov 11, 2009 9:33 pm

Massimo,

> c:\fwh\tsbrowse\c\TSBFUNCS.C(80): warning: Conversion from 'struct HBRUSH__ *' to 'unsigned int' is undefined.

Probably a ( HBRUSH ) hb_parnl( ... ) is missing

> c:\fwh\tsbrowse\c\TSBFUNCS.C(528): warning: Missing prototype for '_reta'.

Change it into hb_reta( ... )

If you post here scroll.c then we can provide you a better help :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42081
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problem linking with Xharbour commercial

Postby Massimo Linossi » Thu Nov 12, 2009 9:40 am

Hi Antonio.
Thanks a lot for you help.
Here is the scroll.c source

#include <WinTen.h> // set proper path if needed
#include <Windows.h>
#include <ClipApi.h> // set proper path if needed

#ifndef __FLAT__
#ifndef __HARBOUR__

typedef struct
{
DWORD cbSize ;
DWORD fMask ;
long nMin ;
long nMax ;
DWORD nPage ;
long nPos ;
long nTrackPos ;
} SCROLLINFO ;
typedef SCROLLINFO FAR * LPSCROLLINFO ;

#define SIF_RANGE 1
#define SIF_PAGE 2
#define SIF_POS 4
#define SIF_DISABLENOSCROLL 8
#define SIF_TRACKPOS 16
#endif
#endif

//----------------------------------------------------------------------------//

static BOOL SetScrInfo( HWND hWnd, int nScrollBar, LPSCROLLINFO si, BOOL lRedraw)
{
#ifndef __HARBOUR__
typedef BOOL ( WINAPI * FN )( HWND, int, LPSCROLLINFO, BOOL ) ;

FN p = ( FN ) GetProcAddress( GetModuleHandle( "USER" ), "SetScrollInfo" ) ;

if( p )
return ( p( ( HWND ) hWnd, nScrollBar, si, lRedraw ) ) ;
else
return ( FALSE ) ;
#else
return SetScrollInfo( hWnd, nScrollBar, si, lRedraw ) ;
#endif
}

//----------------------------------------------------------------------------//

#ifdef __HARBOUR__
HB_FUN_SETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags, nMin, nMax, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLR( PARAMS ) // ANGE()
#endif
{
SCROLLINFO si ;

si.cbSize = sizeof( si ) ;
si.fMask = SIF_RANGE ;
si.nMin = _parni( 3 ) ;
si.nMax = _parni( 4 ) ;

if (_parl(6))
si.fMask = SIF_RANGE + SIF_DISABLENOSCROLL ;

if (_parl(7))
_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 5 ) ) ) ;
else // NT does not support SetScrollInfo() API function
_retni( SetScrollRange( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll Bar flags
_parni( 3 ), // Min
_parni( 4 ), // Max
_parl( 5 ) ) ) ; // ReDraw
}

//----------------------------------------------------------------------------//

#ifdef __HARBOUR__
HB_FUN_SETSCROLLPOS( PARAMS ) // ( hWnd, nFlags, nPos, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLP( PARAMS ) // OS
#endif
{
SCROLLINFO si;

si.cbSize = sizeof( si );
si.fMask = SIF_POS;
si.nPos = _parni( 3 );

if (_parl(5))
si.fMask = SIF_POS + SIF_DISABLENOSCROLL ;

if ( _parl( 6 ) )
_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 4 ) ) ) ;
else // NT does not support SetScrollInfo() API function
_retl( SetScrollPos( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll Bar flags
_parni( 3 ), // new Position
_parl( 4 ) ) ) ; // repaint
}

//----------------------------------------------------------------------------//

#ifdef __HARBOUR__
HB_FUN_GETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags )
#else
CLIPPER GETSCROLLR( PARAMS ) // ANGE
#endif
{
int iMin = 0, iMax = 0 ;

#ifdef __FLAT__
#ifndef __HARBOUR__
#define _storni( x, y, z ) STORNI( x, params, y, z )
#endif
#endif

GetScrollRange( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll bar flags
&iMin,
&iMax ) ;

_reta( 2 ) ; // { nMin, nMax }

_storni( iMin, -1, 1 ) ;
_storni( iMax, -1, 2 ) ;
}

//----------------------------------------------------------------------------//

#ifdef __HARBOUR__
HB_FUN_GETSCROLLPOS( PARAMS ) // ( hWnd, nFlags )
#else
CLIPPER GETSCROLLP( PARAMS ) // OS
#endif
{
_retni( GetScrollPos( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ) ) ) ; // Scroll bar flags
}

//----------------------------------------------------------------------------//

#ifdef __HARBOUR__
HB_FUN_SETSCROLLINFO( PARAMS ) // ( hWnd, nFlags, nSize, lRedraw, lShowDisabled )
#else
CLIPPER SETSCROLLI( PARAMS ) // NFO()
#endif
{
SCROLLINFO si;

si.cbSize = sizeof( si );
si.fMask = SIF_PAGE ;
si.nPage = _parni( 3 );

if ( _parl( 5 ) )
si.fMask += SIF_DISABLENOSCROLL ;

_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 4 ) ) ) ;
}

//----------------------------------------------------------------------------//
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Re: Problem linking with Xharbour commercial

Postby mmercado » Thu Nov 12, 2009 1:30 pm

Hello Massimo:
Massimo Linossi wrote:Hi Antonio.
Thanks, now I can compile and link.
But I'm using an old Tsbrowse library

How old is your TSBrowse version?

Massimo Linossi wrote:with some changes, and I must recompile it.

Are your changes documented? Could you send me the changelog ?

Massimo Linossi wrote:There are some errors during compilation. Is there something I can change ?

Please give me your email in order to send you a revised version that includes the required changes.

Best regards.
manuelmercado at prodigy dot net dot mx
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: Problem linking with Xharbour commercial

Postby Antonio Linares » Thu Nov 12, 2009 1:48 pm

Manuel,

Many thanks :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42081
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problem linking with Xharbour commercial

Postby Massimo Linossi » Thu Nov 12, 2009 2:36 pm

Hi Manuel.
It's a 4.0 version, a little bit old... :)
Sorry but all the changes aren't documented, and most of them are in the tsbrowse.prg file.
I can make them again, if you can send me the new library. So I can be another beta tester
for you. I've used you browse for a long time, in clipper version, and now that I'm converting
all the programs to xHarbour and the new FWH, it will be really nice to use you product.
Thanks for you help.
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Re: Problem linking with Xharbour commercial

Postby Antonio Linares » Thu Nov 12, 2009 3:46 pm

Massimo,

We can fix and compile your modified C file, no problem :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42081
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problem linking with Xharbour commercial

Postby Massimo Linossi » Thu Nov 12, 2009 4:49 pm

Hi Antonio.
I haven't modified C file. I made a lot of changes in prg files.
But are old changes, and my memory is going away...
Is a best solution to make a complete change, and to pass to all
new libraries. For this reason I'm using now the last FWH and the last Xharbour.
I know that is a hard work, but with an hard work now I can have a nice solution
for the future.
Thanks a lot and have a nice evening.
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Re: Problem linking with Xharbour commercial

Postby Antonio Linares » Thu Nov 12, 2009 6:23 pm

Massimo,

Yes, the best way is to use the most recent code used by all of us. Anyhow, here is your code already fixed and compiling properly :-)
Code: Select all  Expand view
#include <Windows.h>
#include <hbapi.h>

//----------------------------------------------------------------------------//

static BOOL SetScrInfo( HWND hWnd, int nScrollBar, LPSCROLLINFO si, BOOL lRedraw)
{
   return SetScrollInfo( hWnd, nScrollBar, si, lRedraw ) ;
}

//----------------------------------------------------------------------------//

HB_FUNC( SETSCROLLRANGE ) // ( hWnd, nFlags, nMin, nMax, lRepaint, lDisable, l32Bit )
{
   SCROLLINFO si ;

   si.cbSize = sizeof( si ) ;
   si.fMask  = SIF_RANGE ;
   si.nMin   = hb_parni( 3 ) ;
   si.nMax   = hb_parni( 4 ) ;

   if (hb_parl(6))
      si.fMask = SIF_RANGE + SIF_DISABLENOSCROLL ;

   if (hb_parl(7))
      hb_retl( SetScrInfo( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ), &si, hb_parl( 5 ) ) ) ;
   else                                          // NT does not support SetScrollInfo() API function
      hb_retni( SetScrollRange( ( HWND ) hb_parnl( 1 ),        // its hWnd
                                      hb_parni( 2 ),         // Scroll Bar flags
                                      hb_parni( 3 ),         // Min
                                      hb_parni( 4 ),         // Max
                                      hb_parl( 5 ) ) ) ;     // ReDraw
}

//----------------------------------------------------------------------------//

HB_FUNC( SETSCROLLPOS ) // ( hWnd, nFlags, nPos, lRepaint, lDisable, l32Bit )
{
   SCROLLINFO si;

   si.cbSize = sizeof( si );
   si.fMask  = SIF_POS;
   si.nPos   = hb_parni( 3 );

   if (hb_parl(5))
      si.fMask = SIF_POS + SIF_DISABLENOSCROLL ;

   if ( hb_parl( 6 ) )
      hb_retl( SetScrInfo( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ), &si, hb_parl( 4 ) ) ) ;
   else                                               // NT does not support SetScrollInfo() API function
      hb_retl( SetScrollPos( ( HWND ) hb_parnl( 1 ),     // its hWnd
                                    hb_parni( 2 ),     // Scroll Bar flags
                                    hb_parni( 3 ),     // new Position
                                    hb_parl( 4 ) ) ) ; // repaint
}

//----------------------------------------------------------------------------//

HB_FUNC( GETSCROLLRANGE ) // ( hWnd, nFlags )
{
   int iMin = 0, iMax = 0 ;

   GetScrollRange( ( HWND ) hb_parnl( 1 ),  // its hWnd
                   hb_parni( 2 ),           // Scroll bar flags
                   &iMin,
                   &iMax ) ;

   hb_reta( 2 ) ;                            // { nMin, nMax }

   hb_storni( iMin, -1, 1 ) ;
   hb_storni( iMax, -1, 2 ) ;
}

//----------------------------------------------------------------------------//

HB_FUNC( GETSCROLLPOS ) // ( hWnd, nFlags )
{
   hb_retni( GetScrollPos( ( HWND ) hb_parnl( 1 ),     // its hWnd
                         hb_parni( 2 ) ) ) ;         // Scroll bar flags
}

//----------------------------------------------------------------------------//

HB_FUNC( SETSCROLLINFO ) // ( hWnd, nFlags, nSize, lRedraw, lShowDisabled )
{
   SCROLLINFO si;

   si.cbSize = sizeof( si );
   si.fMask  = SIF_PAGE ;
   si.nPage  = hb_parni( 3 );

   if ( hb_parl( 5 ) )
      si.fMask += SIF_DISABLENOSCROLL ;

   hb_retl( SetScrInfo( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ), &si, hb_parl( 4 ) ) ) ;
}

//----------------------------------------------------------------------------//
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42081
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problem linking with Xharbour commercial

Postby Massimo Linossi » Fri Nov 13, 2009 6:51 am

Thanks Antonio, you're great :D
A big handshake.
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 94 guests