FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour problem with tlayout
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
problem with tlayout
Posted: Fri Nov 15, 2013 11:15 PM

when I am using class tlayout I got error
/FWH 13.09 and xHARBOUR.COM/

Type: C >>>xlink.exe -NOEXPOBJ -MAP -FORCE:MULTIPLE -NOIMPLIB -subsystem:windows -UNMANGLE -LIBPATH:"S:\lib" -LIBPATH:"R:\lib" -LIBPATH:"R:\c_lib" -LIBPATH:"R:\c_lib\win" "t.obj" "S:\lib\send32.lib" "S:\lib\mem32.lib" "FiveHCM.lib" "FiveHMX.lib" "OptG.lib" "xhb.lib" "dbf.lib" "nsx.lib" "ntx.lib" "cdx.lib" "rmdbfcdx.lib" "ct3comm.lib" crt.lib kernel32.lib user32.lib winspool.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib ws2_32.lib wininet.lib advapi32.lib shlwapi.lib msimg32.lib mpr.lib OleDlg.lib version.lib comctl32.lib comdlg32.lib gdi32.lib shell32.lib winmm.lib lz32.lib Netapi32.lib -out:"t.exe"<<<

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_ERRORSYS previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_ERRORLINK previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETERRORPATH previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETERRORFILENAME previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETPOSTERRORACTION previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_GETCPU previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'R:\lib\OptG.lib(hvm.obj)->_hb_vmPushSize previously defined at S:\lib\Fivehmx.lib(harbour.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\FiveHCM.lib(MEM.obj)->HB_FUN_NEXTMEM previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

Creating object: t.EXP

Creating library: t.LIB

xLINK: error: Unresolved external symbol '_HB_FUN_CALPOS referenced from Fivehmx.lib(tfoldex.obj)'.

xLINK: fatal error: 1 unresolved external(s).

Type: C >>>Couldn't build: t.exe<<<
Type: C >>>TMAKEPROJECT<<<
Type: C >>>TMAKEPROJECT:REFRESH<<<
Type: N >>> 1408<<<

best regards
kajot

best regards

kajot
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 07:28 AM

Kajot,

have you rebuilt the FWH libraries ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 07:46 AM

yes I rebuilt
I added to Fivemx.lib.xbp
...
[Source\Classes\tlayout.prg]

best regards

kajot
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 07:50 AM

kajot,

When you recompile the FWH libraries, you have to use the original version. You can not delete it and rebuild it.

As there are some modules inside the libraries whose source code is not provided.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 08:26 AM
error:

Type: C >>>xlink.exe -NOEXPOBJ -MAP -FORCE:MULTIPLE -NOIMPLIB -subsystem:windows -UNMANGLE -LIBPATH:"S:\lib" -LIBPATH:"R:\lib" -LIBPATH:"R:\c_lib" -LIBPATH:"R:\c_lib\win" "t.obj" "S:\lib\send32.lib" "S:\lib\mem32.lib" "FiveHCM.lib" "FiveHMX.lib" "OptG.lib" "xhb.lib" "dbf.lib" "nsx.lib" "ntx.lib" "cdx.lib" "rmdbfcdx.lib" "ct3comm.lib" crt.lib kernel32.lib user32.lib winspool.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib ws2_32.lib wininet.lib advapi32.lib shlwapi.lib msimg32.lib mpr.lib OleDlg.lib version.lib comctl32.lib comdlg32.lib gdi32.lib shell32.lib winmm.lib lz32.lib Netapi32.lib -out:"t.exe"<<<

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_ERRORSYS previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_ERRORLINK previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETERRORPATH previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETERRORFILENAME previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_SETPOSTERRORACTION previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\Fivehmx.lib(errsysw_.obj)->_HB_FUN_GETCPU previously defined at S:\lib\Fivehmx.lib(errsysw.obj)' is multiply defined.

xLINK: warning: Symbol 'R:\lib\OptG.lib(hvm.obj)->_hb_vmPushSize previously defined at S:\lib\Fivehmx.lib(harbour.obj)' is multiply defined.

xLINK: warning: Symbol 'S:\lib\FiveHCM.lib(MEM.obj)->_HB_FUN_NEXTMEM previously defined at S:\lib\Fivehmx.lib(errsysw_.obj)' is multiply defined.

Creating object: t.EXP

Creating library: t.LIB

xLINK: error:Unresolved external symbol '_HB_FUN_CALPOS referenced from Fivehmx.lib(tfoldex.obj)'.

xLINK: fatal error: 1 unresolved external(s).


Type: C >>>Couldn't build: t.exe<<<
Type: C >>>TMAKEPROJECT<<<
Type: C >>>TMAKEPROJECT:REFRESH<<<
Type: N >>> 1408<<<



------------------------------
the sample
-----------------------------
#include "fivewin.ch"
#include "ttitle.ch"

function main()
local oWnd
local oMainLay
local hLays := {=>}
local hButtons := {=>}
local hBrowses := {=>}
local oFld, oTitle2, oTitle1, oFont3

define window oWnd title "testing layout"

USE CUSTOMER NEW SHARED ALIAS "CUST1"

hLays["MAIN"] = TLayout():new( oWnd )

hLays["V1"] = hLays["MAIN"]:addVLayout(48) //Top with fixed size 48
hLays["V2"] = hLays["MAIN"]:addVLayout() //body
hLays["V3"] = hLays["MAIN"]:addVLayout(48) //bottom with fixed size 48

//BODY
hLays["V2"]:addHLayout() //left
hLays["V2"]:addHLayout(300) //right

@ 0,0 XBROWSE hBrowses["ONE"] OF hLays["V2"]:aHLayout[1] ALIAS "CUST1"
hBrowses["ONE"]:CreateFromCode()
hLays["V2"]:aHLayout[1]:oClient = hBrowses["ONE"]

@ 0, 0 FOLDEREX oFld PIXEL PROMPT "Gifs", "xbrowse", "layout" of hLays["V2"]:aHLayout[2]
hLays["V2"]:aHLayout[2]:oClient = oFld

@ 0, 0 TITLE oTitle1 size 10, 10 of hLays["V1"] SHADOW NOSHADOW
hLays["V1"]:oClient = oTitle1

@ 0, 0 TITLE oTitle2 size 10, 10 of hLays["V3"] SHADOW NOSHADOW
hLays["V3"]:oClient = oTitle2

activate window oWnd MAXIMIZED

return nil
best regards

kajot
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 09:09 AM

if function CALPOS will be in the class tfoldex ?

best regards

kajot
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 01:45 PM

Hello

Yes CALPOS working for folderex, but is a FWH internal function, the source is not provided

Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 05:00 PM

is chance of the function calpos() for xharbour ?

best regards

kajot
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 07:28 PM

Kajot,

It is a quite complex function, it is not a small or simple one.

Why do you need to rebuild FWH ? Why don't you use the standard FWH libs ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sat Nov 16, 2013 10:12 PM

the function CALPOS doesn't have in the class tfoldex

best regards

kajot
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: problem with tlayout
Posted: Sun Nov 17, 2013 09:56 AM

kajot,

function CalPos() is already inside FWH libraries

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sun Nov 17, 2013 12:01 PM

I have to built FIVEHMXC.LIB / for XHABRBOUR.COM/ - it is OK

when i compile samles LAYOUT.PRG or LAYOUT2.PRG I got error

xLINK: error: Unresolved external symbol '_HB_FUN_CALPOS referenced from Fivehmx.lib(tfoldex.obj)'.

xLINK: error: Unresolved external symbol '_GetWindowLongPtr referenced from FiveHCM.lib(FWGIF.obj)'.

xLINK: fatal error: 2 unresolved external(s).

Type: C >>>Couldn't build: layout.exe<<<
Type: C >>>TMAKEPROJECT<<<
Type: C >>>TMAKEPROJECT:REFRESH<<<
Type: N >>> 1408<<<

best regards

kajot
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: problem with tlayout
Posted: Sun Nov 17, 2013 01:03 PM
Try to add:

function CalPos() ; return nil

and

Code (fw): Select all Collapse
#pragma BEGINDUMP
#ifndef _WIN64

LONG_PTR WINAPI GetWindowLongPtr( HWND hWnd, int nIndex )
{
   return GetWindowLong( hWnd, nindex );
}

#endif

#pragma ENDDUMP
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 357
Joined: Thu Nov 02, 2006 06:53 PM
Re: problem with tlayout
Posted: Sun Nov 17, 2013 10:02 PM
samples after modification

//Class TLayout test
//Daniel Garcia-Gil (danielgarciagil@gmail.com)

#include "fivewin.ch"
#include "ribbon.ch"
#include "gif.ch"


#pragma BEGINDUMP
#include <windows.h>
#ifndef _WIN64

#undef GetWindowLongPtr

LONG_PTR GetWindowLongPtr( HWND hWnd, int nIndex )
{
return GetWindowLong( hWnd, nIndex );
}

#endif

#pragma ENDDUMP


function main()
local oWnd
local oMainLay
local hLays := {=>}
local hButtons := {=>}
local hBrowses := {=>}
local oRBar, oFld

define window oWnd title "testing layout"

USE CUSTOMER NEW SHARED ALIAS "CUST1"
USE CUSTOMER NEW SHARED ALIAS "CUST2"

hLays["MAIN"] = TLayout():new( oWnd )

hLays["H1"] = hLays["MAIN"]:addHLayout(75)
hLays["H2"] = hLays["MAIN"]:addHLayout()

//add 4 layout in H1, will use for 4 buttons
hLays["H1"]:addVLayout()
hLays["H1"]:addVLayout()
hLays["H1"]:addVLayout()
hLays["H1"]:addVLayout()

@ 0,0 button hButtons["ONE"] prompt "btn1" of hLays["H1"]:aVLayout[1]
hLays["H1"]:aVLayout[1]:oClient = hButtons["ONE"]

@ 0,0 button hButtons["TWO"] prompt "btn2" of hLays["H1"]:aVLayout[2]
hLays["H1"]:aVLayout[2]:oClient = hButtons["TWO"]

@ 0,0 button hButtons["THREE"] prompt "btn3" of hLays["H1"]:aVLayout[3]
hLays["H1"]:aVLayout[3]:oClient = hButtons["THREE"]

@ 0,0 button hButtons["FOUR"] prompt "btn4" of hLays["H1"]:aVLayout[4]
hLays["H1"]:aVLayout[4]:oClient = hButtons["FOUR"]

/*
IN THIS POINT THE DISTRIBUTION IS
----------------------------------
| | |
|btn1 | |
|-----| |
| | |
|btn2 | |
|-----| |
| | |
|btn3 | |
|-----| |
| | |
|btn4 | |
----------------------------------
->75<-|->REST OF WIDTH <-|
*/

//add 3 layout in H2, will use for 3 xbrowse
hLays["H2"]:addVLayout()
hLays["H2"]:addVLayout()
hLays["H2"]:addVLayout()


@ 0,0 XBROWSE hBrowses["ONE"] OF hLays["H2"]:aVLayout[1] ALIAS "CUST1"
hBrowses["ONE"]:CreateFromCode()
hLays["H2"]:aVLayout[1]:oClient = hBrowses["ONE"]


@ 0, 0 FOLDEREX oFld PIXEL PROMPT "Gifs", "xbrowse", "layout" of hLays["H2"]:aVLayout[2]
hLays["H2"]:aVLayout[2]:oClient = oFld

@ 1, 1 GIF FILE "..\gifs\matrix4.gif" OF oFld:aDialogs[ 1 ]

@ 0,0 XBROWSE hBrowses["ONE"] OF oFld:aDialogs[2] ALIAS "CUST2"
hBrowses["ONE"]:CreateFromCode()
oFld:aDialogs[2]:oClient = hBrowses["ONE"]

//WORKING INSIDE FOLDERS
hLays["FOLDER"] = TLayout():new( oFld:aDialogs[3] )

hLays["FOLDER_H1"] = hLays["FOLDER"]:addHLayout()

//add 4 layout in FOLDER_H1, will use for 4 buttons
hLays["FOLDER_H1"]:addVLayout()
hLays["FOLDER_H1"]:addVLayout()
hLays["FOLDER_H1"]:addVLayout()
hLays["FOLDER_H1"]:addVLayout()

@ 0,0 button hButtons["FOLDER_ONE"] prompt "btn1" of hLays["FOLDER_H1"]:aVLayout[1]
hLays["FOLDER_H1"]:aVLayout[1]:oClient = hButtons["FOLDER_ONE"]

@ 0,0 button hButtons["FOLDER_TWO"] prompt "btn2" of hLays["FOLDER_H1"]:aVLayout[2]
hLays["FOLDER_H1"]:aVLayout[2]:oClient = hButtons["FOLDER_TWO"]

@ 0,0 button hButtons["FOLDER_THREE"] prompt "btn3" of hLays["FOLDER_H1"]:aVLayout[3]
hLays["FOLDER_H1"]:aVLayout[3]:oClient = hButtons["FOLDER_THREE"]

@ 0,0 button hButtons["FOLDER_FOUR"] prompt "btn4" of hLays["FOLDER_H1"]:aVLayout[4]
hLays["FOLDER_H1"]:aVLayout[4]:oClient = hButtons["FOLDER_FOUR"]

DEFINE RIBBONBAR oRBar WINDOW hLays["H2"]:aVLayout[3] PROMPT "One", "Two", "Three" HEIGHT 133 TOPMARGIN 25 2010

/*
IN THIS POINT THE DISTRIBUTION IS
----------------------------------
| | |
|btn1 | |
|-----| xbrowse |
| |--------------------------|
|btn2 | |
|-----| |
| | folderex |
|btn3 |--------------------------|
|-----| |
| | |
|btn4 | ribbonbar |
----------------------------------
->75<-|->REST OF WIDTH <-|
*/

activate window oWnd

return nil

function CalPos() ; return nil
//

runtime error
-----------------------

Application
===========
Path and name: S:\samples18\layout\layout.exe (32 bits)
Size: 2,604,032 bytes
Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20130821)
FiveWin Version: FWHX 13.09
Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 0 secs
Error occurred at: 11/17/13, 22:58:45
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... }
[ 2] = N 1

Stack Calls
===========
Called from: Source\Classes\tfoldex.prg => TFOLDEREX:DEFAULT( 753 )
Called from: Source\Classes\tfoldex.prg => TFOLDEREX:NEW( 356 )
Called from: layout.prg => MAIN( 89 )
best regards

kajot
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: problem with tlayout
Posted: Tue Nov 19, 2013 04:20 PM

try with normal tfolder

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com

Continue the discussion