I just tried EasyReport. To compile with VisualC and HBMK2 I sed this hbp File:
- Code: Select all Expand view
- source\ereport.prg
source\epfunc.prg
source\erfile.prg
source\eritems.prg
source\eritems2.prg
source\ertools.prg
#source\fileedit.prg
source\vrd.prg
source\ermain.prg
source\vrdbcode.prg
source\vrditem.prg
source\strings.prg
source\TCFoldex.prg
source\cfunc.c
source\setmask.c
ereport.rc
-oereport
-w
-inc
-gui
-incpath=${FWH_INSTALL}\INCLUDE;
-mt
xhb.hbc
#hbct.hbc
#hbwin.hbc
-L${FWH_INSTALL}\LIB
-lFiveH32
-lFiveHC32
-ldflag=/NODEFAULTLIB:libcmt
-ldflag=Version.lib
-ldflag=OleDlg.lib
-ldflag=Gdiplus.lib
# windows XP support
-ldflag=/SUBSYSTEM:WINDOWS,"5.01"
-cflag=/D"_USING_V110_SDK71_"
I must remove some functions and substitute FWString with ERString (the visual studio linker does not allow multiple definition)
If I load an example, and try to print it, every time there is an error like this:
- Code: Select all Expand view
- Application
===========
Path and name: C:\fivetech-easyreport\ereport.exe (32 bits)
Size: 6,806,016 bytes
Compiler version: Harbour 3.2.0dev (r1412151448)
FiveWin Version: FWH 15.03
Windows version: 6.1, Build 7601 Service Pack 1
Time from start: 0 hours 0 mins 10 secs
Error occurred at: 03.07.2015, 15:07:07
Error description: Error BASE/1002 Alias does not exist: EXAMPLE
Stack Calls
===========
Called from: source\vrd.prg => (b)VRD_EVALSOURCECODE( 1168 )
Called from: source\vrd.prg => VRD:EVALSOURCECODE( 1168 )
Called from: source\vrd.prg => VRD:PRINTITEM( 903 )
Called from: source\vrd.prg => VRD:PRINTAREA( 1263 )
Called from: source\vrd.prg => VRD:AREASTART2( 766 )
Called from: source\vrd.prg => VRD:AREASTART( 655 )
Called from: source\ertools.prg => PRINTREPORT( 2005 )
Called from: source\ereport.prg => (b)BARMENU( 708 )
Called from: btnbmp.prg => TBTNBMP:CLICK( 608 )
Called from: btnbmp.prg => TBTNBMP:LBUTTONUP( 823 )
Called from: control.prg => TCONTROL:HANDLEEVENT( 1736 )
Called from: btnbmp.prg => TBTNBMP:HANDLEEVENT( 1620 )
Called from: window.prg => _FWH( 3363 )
Called from: => WINRUN( 0 )
Called from: window.prg => TMDIFRAME:ACTIVATE( 1057 )
Called from: source\ereport.prg => MAIN( 244 )
System
======
CPU type: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz 75 Mhz
Hardware memory: 4095 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 9
1 ,
2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855
3 , C:\Windows\system32\ieframe.DLL
4 , C:\Windows\syswow64\SHELL32.dll
5 , C:\Windows\syswow64\SHLWAPI.dll
6 DDE Server Window, C:\Windows\syswow64\ole32.dll
7 GDI+ Window, C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.18834_none_72d38c5186679d
8 MCI command handling window, C:\Windows\system32\WINMM.dll
9 Passaggio da un programma all'altro, C:\fivetech-easyreport\ereport.exe
Variables in use
================
Procedure Type Value
==========================
(b)VRD_EVALSOURCECODE
Param 1: O Class: ERROR
VRD:EVALSOURCECODE
Param 1: O Class: TPRINTER
Param 2: O Class: VRD
Param 3: O Class: TEXSTRUCT
Local 1: S
Local 2: U
Local 3: S
Local 4: U
Local 5: S
Local 6: U
Local 7: U
VRD:PRINTITEM
Param 1: C "ALLTRIM(STR( EXAMPLE->QUANTITY, 8, 2 ))"
Local 1: C "C"
Local 2: O Class: VRD
Local 3: C ""
VRD:PRINTAREA
Param 1: N 3
Param 2: U
Param 3: U
Param 4: N 0
Param 5: L .F.
Param 6: N 403
Local 1: N 1
Local 2: U
Local 3: U
Local 4: N 129
Local 5: U
Local 6: N 114
Local 7: U
Local 8: U
Local 9: U
Local 10: U
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: U
Local 16: U
Local 17: C "Quantity"
Local 18: U
Local 19: U
Local 20: U
Local 21: L .F.
Local 22: L .F.
Local 23: C "403"
Local 24: C "Text|Quantity|-1|1|1|1|2|97|22|6|3|3|2|3|0|0|ALLTRIM(STR( EXAMPLE->QUANTITY, 8, 2 ))"
Local 25: O Class: VRDITEM
Local 26: N 112
Local 27: N 52
Local 28: L .T.
Local 29: N 1
VRD:AREASTART2
Param 1: N 3
Param 2: N 0
Param 3: L .F.
Local 1: N 9
Local 2: C "Text|Quantity|-1|1|1|1|2|97|22|6|3|3|2|3|0|0|ALLTRIM(STR( EXAMPLE->QUANTITY, 8, 2 ))"
Local 3: N 403
Local 4: C "C:\FIVETECH-EASYREPORT\Examples\EasyReportExample1.v03 "
Local 5: A Len: 9
VRD:AREASTART
Param 1: N 3
Param 2: L .T.
Param 3: A Len: 0
Param 4: A Len: 0
Param 5: L .F.
Local 1: N 112
Local 2: N 52
Local 3: L .T.
PRINTREPORT
Param 1: N 3
Param 2: U
Param 3: U
Param 4: U
Param 5: L .F.
Local 1: N 1
Local 2: N 1
Local 3: N 1
Local 4: N 0
Local 5: N 0
(b)BARMENU
Local 1: L .T.
Local 2: L .T.
Local 3: L .T.
Local 4: L .F.
Local 5: U
Local 6: N 3
Local 7: O Class: VRD
Local 8: U
TBTNBMP:CLICK
Param 1: O Class: TBTNBMP
TBTNBMP:LBUTTONUP
TCONTROL:HANDLEEVENT
Param 1: N 47
Param 2: N 49
Param 3: N 0
Local 1: L .T.
Local 2: S
TBTNBMP:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 3080241
Local 1: U
_FWH
Param 1: N 514
Param 2: N 0
Param 3: N 3080241
WINRUN
Param 1: N 3080241
Param 2: N 514
Param 3: N 0
Param 4: N 3080241
Param 5: N 9
Local 1: O Class: TBTNBMP
TMDIFRAME:ACTIVATE
Param 1: N 1048786
MAIN
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: B {|| ... }
Param 6: U
Param 7: U
Param 8: B {|| ... }
Param 9: U
Param 10: U
Param 11: U
Param 12: U
Param 13: U
Param 14: U
Param 15: U
Param 16: U
Param 17: B {|| ... }
Param 18: U
Param 19: U
Param 20: L .F.
Local 1: O Class: TMDIFRAME
Local 2: O Class: TSCROLLBAR
Local 3: U
Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFNTX
DataBases in use
================
Classes in use:
===============
1 ERROR
2 HBCLASS
3 HBOBJECT
4 TEASYREPORT
5 TFONT
6 TEXSTRUCT
7 TBRUSH
8 TWINDOW
9 TCONTROL
10 TICON
11 TMDIFRAME
12 TMENU
13 TMENUITEM
14 TACCTABLE
15 TMRU
16 TINI
17 TMDICLIENT
18 TSCROLLBAR
19 TMSGBAR
20 TRECT
21 TMSGITEM
22 TTIMER
23 TBAR
24 TBTNBMP
25 TPANEL
26 TFOLDEREX
27 TCFOLDEREX
28 TDIALOG
29 TTREEVIEW
30 TIMAGELIST
31 TBITMAP
32 TMDICHILD
33 ER_MDICHILD
34 TSAY
35 TIMAGE
36 TCURSOR
37 VRDBARCODE
38 TTVITEM
39 TBUTTON
40 TGROUP
41 TCOMBOBOX
42 TGET
43 GET
44 TCLIPGET
45 TRADMENU
46 TRADIO
47 TCHECKBOX
48 TXBROWSE
49 TXBRWCOLUMN
50 TMULTIGET
51 VRD
52 TPRINTER
53 VRDITEM
54 TREG32
Memory Analysis
===============
296 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
does It work only if compiled with xHarbour?
is it safe eval the user input? if he writes WinExec("format c:")
Is it still developing?
Regards,
Antonino