AppSys Problem with Demo Code

Post Reply
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

AppSys Problem with Demo Code

Post by Jimmy »

hi,

in many Sample i found

Code: Select all

procedure AppSys  // XBase++ requirement
return
i know what it is for Xbase++ but why i found it in FiveWin Sample :?:

i ask while i have exact that Problem :!: with CMD Box under FinWin with my Sample.

when start Short-Cut from Desktop
when start from Total Commander or Explorer

here is the Code

Code: Select all

#define Use_Gui

#IFDEF __HARBOUR__
   #IFDEF Use_Gui
      #include "FIVEWIN.CH"
   #ELSE
      REQUEST HB_GT_WIN_DEFAULT           // Console
      #define CRLF            CHR(13)+CHR(10)
   #ENDIF
   #define WM_SETTEXT      0x000C
#ELSE
   #define CRLF            CHR(13)+CHR(10)
#ENDIF

#include "DIRECTRY.CH"
#include "COMMON.CH"
#include "INKEY.CH"
#include "FILEIO.CH"

#define CVERSION '2.05.5'

STATIC nLineCount    := 0
STATIC nMasterCount  := 0
STATIC lLineContinue := .f.
STATIC lLastContinue := .f.
STATIC nStripComment := 0
STATIC lCommentMode  := .f.
STATIC oOutHandle
STATIC cFuncDiv
STATIC lDumpBuffer   := .f.
STATIC lMoreToGo     := .f.
STATIC aCommand      := {}
STATIC aCmdLogic     := {}
STATIC aFunction     := {}
STATIC cComCase
STATIC cFunCase
STATIC cBoolCase
STATIC nAlignMethod
STATIC nUnCase
STATIC nUnFor
STATIC nUnSequence
STATIC lVerbose
STATIC lMode5
STATIC nComntTab
STATIC lConvertSlash
STATIC lConvertStar
STATIC lConvertArray
STATIC lRemDupMTLine
STATIC lGotClass     := .f.
STATIC lDeflate1
STATIC lDeflate2
STATIC lDeflate3
STATIC lDeflate4
STATIC lDeflate5
STATIC nTabIf
STATIC nIndIf
STATIC nTabFor
STATIC nIndFor
STATIC nTabCase
STATIC nIndCase
STATIC nTabFunc
STATIC nIndFunc
STATIC nTabBegin
STATIC nIndBegin
STATIC nTabWhile
STATIC nIndWhile
STATIC nTabClass
STATIC lRestScrn
STATIC nMidScreen := 15

MEMVAR oStatusBox, oInBox, oOutBox, oFont
MEMVAR cStatusBox, cInBox, cOutBox, oForm, oProgress

PROCEDURE AppSys
RETURN

PROCEDURE main( filespec )
LOCAL nTop    := 0
LOCAL nLeft   := 0
LOCAL nRight  := 1024   // ScreenWidth()
LOCAL nBottom := 768  // ScreenHeight()

PUBLIC oStatusBox := ""
PUBLIC oInBox     := ""
PUBLIC oOutBox    := ""
PUBLIC oFont
PUBLIC oProgress
PUBLIC cStatusBox := ""
PUBLIC cInBox     := ""
PUBLIC cOutBox    := ""
PUBLIC oForm

ALTD()

DEFAULT filespec TO '*.PRG'

#IFDEF Use_Gui

DEFINE FONT oFont NAME "ARIAL" SIZE 0, - 12

DEFINE WINDOW oForm ;
        TITLE " Click FiveWin Version" ;
        FROM nTop, nLeft TO nBottom, nRight PIXEL ;
        NOMAXIMIZE ;
        MENU BuildMenu()

   @  0,  3 PROGRESS oProgress OF oForm SIZE 970, 20

   @  0, - 1 GET oStatusBox VAR cStatusBox ;
        OF oForm ;
        MEMO ;
        SIZE 970, 150 ;
        FONT oFont ;
        PIXEL

   oStatusBox:Move( 30, 20 )

   @  0, - 1 GET oInBox VAR cInBox ;
        OF oForm ;
        MEMO ;
        SIZE 970, 250 ;
        FONT oFont ;
        PIXEL

   oInBox:Move( 190, 20 )

   @  0, - 1 GET oOutBox VAR cOutBox ;
        MEMO ;
        FONT oFont ;
        SIZE 970, 250 ;
        OF oForm ;
        PIXEL

   oOutBox:Move( 450, 20 )

ACTIVATE WINDOW oForm CENTER

#ELSE
   StartClick( filespec )
#ENDIF

RETURN

PROCEDURE StartClick( filespec )
RETURN

STATIC FUNCTION BuildMenu()
LOCAL oMenu
LOCAL cPath := GetCurDir()

MENU oMenu
   MENUITEM "&File"
      MENU
      MENUITEM "&Directory" MESSAGE "select Directory" ;
        ACTION lay( cPath, 1 )
      MENUITEM "&CLICK" MESSAGE "start Click" ;
        ACTION StartClick()
      MENUITEM "&Exit" MESSAGE "Exit Drag & Drop" ;
        ACTION oForm:End()
      ENDMENU
      // oMenu:addmdi()                 // This is a standard windows menu
   MENUITEM "&Help" MESSAGE "Help on This Prgram"
      MENU
      MENUITEM "&Contents" MESSAGE "Help on This Prgram"
      MENUITEM "&Search for Help on..." MESSAGE "Help on This Prgram"
      SEPARATOR
      MENUITEM "&About" MESSAGE "Info About this Program" ;
        ACTION MsgAbout( "A&O", "Click for FiveWin" )
   ENDMENU
ENDMENU

RETURN oMenu

STATIC FUNCTION Lay( cTemp, nFiles )
LOCAL oDlg, oGet
LOCAL cINIfile := Space( 80 )

IIF( !empty( cTemp ), cINIfile := SUBSTR(cTemp+Space( 80 ),1,80), )

DEFINE DIALOG oDlg TITLE "CLICK Directory" ;
        SIZE 600, 150

   @  1, 1.5 SAY "Directory" OF oDlg SIZE 100, 8
   @  2, 1.0 GET oGet VAR cINIfile OF oDlg

   @  3, 1.0 BUTTON "open" ;
        ACTION( cTemp := CGETFOLDER("Hello",cINIfile), ;
        If( !Empty( cTemp ), ( cINIfile := cTemp, oGet:Refresh() ), ) )

   @  3, 21.5 BUTTON "Start CLICK" ACTION( oDlg:hide(), StartClick(), oDlg:End() )
   @  3, 43.0 BUTTON "Exit" ACTION oDlg:End()

ACTIVATE DIALOG oDlg CENTERED

RETURN NIL
 
here WIECMD.HBP

Code: Select all

-I..\..\include
-L..\..\lib
-lfiveh
-lfivehc

C:\harbour\contrib\xhb\xhb.hbc
C:\harbour\contrib\hbwin\hbwin.hbc
C:\harbour\contrib\hbmzip\hbmzip.hbc
C:\harbour\contrib\hbziparc\hbziparc.hbc

WIECMD.PRG
 

Code: Select all

hbmk2 WIECMD.HBP -comp=bcc
if start from CMD BOX use SETFW.BAT

Code: Select all

set bcdir=c:\bcc7
set FWDIR=c:\fwh
set fwh=c:\fwh
set GT=gtgui
set HBDIR=c:\harbour
set hdir=c:\harbour
set hdirl=c:\harbour\lib
SET PATH=c:\bcc7\bin;%PATH%
SET INCLUDE=c:\fwh\include;%INCLUDE%
 
so what i'm doing wrong :idea:

have a nice XMas
greeting,
Jimmy
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: AppSys Problem with Demo Code

Post by MOISES »

Hi,

You have to remote such lines:

procedure AppSys // XBase++ requirement
return

Your code is compiled without errors in Harbour and FHW.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

Hi,
MOISES wrote: You have to remote such lines:

Code: Select all

procedure AppSys  // XBase++ requirement
return
 
Your code is compiled without errors in Harbour and FHW.
please try include Demo Code with *.HBP and hbmk2

it does run :!: in GUI but also :? a CMD will open :shock:
it have to do with Menu, that's why i include it so it is a full working FiveWin Sample which run on my PC and Tablet PC

have a nice Xmas
greeting,
Jimmy
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: AppSys Problem with Demo Code

Post by MOISES »

I don´t have hbmk2

I advise you to compile for starting with fwh\samples\buildh yourfile
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

MOISES wrote:I don´t have hbmk2
I advise you to compile for starting with fwh\samples\buildh yourfile
you need harbour "Core-Master" , which include HBMK2, with all LIBs and *.HBC like

Code: Select all

C:\harbour\contrib\xhb\xhb.hbc
C:\harbour\contrib\hbwin\hbwin.hbc
C:\harbour\contrib\hbmzip\hbmzip.hbc
C:\harbour\contrib\hbziparc\hbziparc.hbc
which FiveWin does not have.

this Demo is for Antonio who gave me the Hint and those Settings for *.HBP

have a nice Xmas
greeting,
Jimmy
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: AppSys Problem with Demo Code

Post by nageswaragunupudi »

n many Sample i found
Code:
procedure AppSys // XBase++ requirement
return

i know what it is for Xbase++ but why i found it in FiveWin Sample :?:
Because till a few years back, FWH was available for Xbase++ users also. These samples were made those days.
i know what it is for Xbase++ but why i found it in FiveWin Sample :?:

i ask while i have exact that Problem :!: with CMD Box under FinWin with my Sample.

when start Short-Cut from Desktop
when start from Total Commander or Explorer
Inclusion or not of the dummy procedure AppSys does not and logically can not make any such difference.

If properly compiled and linked, you will not get the dos box problem.

I copied your program as it is into fwh\samples folder with the nane "jimmy1.prg" and build with buildh.bat. Then I created a shortcut on the desktop. When I executed the shortcut, there is no such dos box and the window is displayed straight away.

Image

In future, whenever you get such doubts, please build your application with buildh.bat in the samples folder.

Please look into buildh.bat and take it as a template for preparing your link scripts.

1) Include all the libraries in the buildh.bat.
2) Include "gtgui.lib" but NOT "gtwin.lib"
3) Ensure you use "-aa" flag in the ilink32 command.

You should not see the dosbox before executing the program.
Regards

G. N. Rao.
Hyderabad, India
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

hi,

Thx for Answer,
nageswaragunupudi wrote: Because till a few years back, FWH was available for Xbase++ users also. These samples were made those days.
i was not aware that i can try to compile FiveWin Sample with Xbase++ ... hm ... :idea:
so i'm "too late" ...

does those People have look on harbour before try to use there xBase Knowhow :?:
i saw some "well known" Name of Xbase++ Person. some have been working for Alaska before.

these People have all high Level ... but perhaps that was "there" Problem.
the Dream is to run Xbase++ Syntax with harbour "without Work" ... "just" inlcude some *.CH and LIB :roll:

it is also my Dream but my Way is Different while i try to find out what harbour already have and how to use it.
but it more difficult in FiveWin Environment for a Newbie to start so i have work first 100 Days most with HMG and its IDE.
nageswaragunupudi wrote: In future, whenever you get such doubts, please build your application with buildh.bat in the samples folder.
Please look into buildh.bat and take it as a template for preparing your link scripts.
so how to compile "more" that 1 File with buildh.bat when NOT use IDE :?:

this was my Question and Antonio gave me those Setting using *.HBP and hbmk2.EXE

Code: Select all

-I..\..\include
-L..\..\lib
-lfiveh
-lfivehc

C:\harbour\contrib\xhb\xhb.hbc
C:\harbour\contrib\hbwin\hbwin.hbc
C:\harbour\contrib\hbmzip\hbmzip.hbc
C:\harbour\contrib\hbziparc\hbziparc.hbc

CLICK2.PRG
... MORE
 
it will not show Error when using IDE (for hole Project) so you need "this" *.HBP and harbour Way with hbmk2.EXE to produce the Behavior.
nageswaragunupudi wrote: 1) Include all the libraries in the buildh.bat.
2) Include "gtgui.lib" but NOT "gtwin.lib"
3) Ensure you use "-aa" flag in the ilink32 command.
ad 1.) i like to compile/link hole Project ( 11 x *.PRG ) in CMD Box
ad 2.) hm .. i do not "see" GT* LIB :?: do i have to look into *.HBC :idea:
ad 3.) em. äh ... is it again in BUILDh.BAT :?:

my "Problem" with FivEdit is that it "load" Source (why ?)
so when i "edit" same Source with "My Editor" FivEdit does not use "new" File.
it does compile/link what FivEdit have "load" ...

so i have still the Problem with FiveWin "work Environment" as Newbie ... there are 18 BUILD Files and so many Sample

---

Question : does

Code: Select all

FUNCTION HB_GTSYS()
have any function under FiveWin :?:
greeting,
Jimmy
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

hi,

have found c:\fwh\makes\bormake.zip :D

inside is a *.MAK that i try to modify.
FivEdit produce a B32.BC file so i try to use "these" LIB and i reduce it to 6 Error
'_HB_FUN_OCCURS' referenced from C:\FWH\LIB\FIVEH.LIB|VALTOSTR
'_hb_strAtI' referenced from C:\FWH\LIB\FIVEH.LIB|VSTRFUN1
'_HB_FUN_HB_BLEN' referenced from C:\FWH\LIB\FIVEH.LIB|OLEFUNCS
'_HB_FUN___OLEVARIANTNEW' referenced from C:\FWH\LIB\FIVEH.LIB|ADOFUNCS
'_hb_extIsNil' referenced from C:\FWH\LIB\FIVEHC.LIB|RICHEDIT
'_HB_FUN_HB_TSTOUTC' referenced from C:\FWH\LIB\FIVEH.LIB|VALTOSTR
but there is (again) a funny think in FivEdit IDE :
i don't have c:\harbour\lib ... i have c:\harbour\lib\win\bcc
but FivEdit IDE produce a EXE while my *.MAK fail so what i'm missing   :?:

---

from FivEdit IDE with wrong c:\harbour\lib path

Code: Select all

C:\bcc7\\lib\c0w32.obj +
C:\fwh\FIVEDIT\Click2.obj +
C:\fwh\FIVEDIT\Cmd_list.obj +
C:\fwh\FIVEDIT\Declbust.obj +
C:\fwh\FIVEDIT\Err_log.obj +
C:\fwh\FIVEDIT\Filnpath.obj +
C:\fwh\FIVEDIT\Functrak.obj +
C:\fwh\FIVEDIT\Julian.obj +
C:\fwh\FIVEDIT\Libread.obj +
C:\fwh\FIVEDIT\Nicedate.obj +
C:\fwh\FIVEDIT\Obufread.obj +
C:\fwh\FIVEDIT\Obufwrit.obj +
C:\fwh\FIVEDIT\Prb_ampm.obj +
C:\fwh\FIVEDIT\Prb_pop.obj +
C:\fwh\FIVEDIT\Prb_prop.obj +
C:\fwh\FIVEDIT\Prb_stak.obj +
C:\fwh\FIVEDIT\Profile.obj +
C:\fwh\FIVEDIT\Qsort.obj +
C:\fwh\FIVEDIT\Readlist.obj +
C:\fwh\FIVEDIT\Readlnk.obj +
C:\fwh\FIVEDIT\Token.obj +
C:\fwh\FIVEDIT\Xbase.obj, +
C:\FWH\SAMPLES\3\CLICK2.exe, +
, +
C:\fwh\lib\fiveh.lib  +
C:\fwh\lib\fivehc.lib  +
C:\fwh\lib\libcurl.lib  +
  c:\harbour\lib\hbwin.lib  +
c:\harbour\lib\gtgui.lib  +
c:\harbour\lib\hbrtl.lib  +
c:\harbour\lib\hbvm.lib  +
c:\harbour\lib\hblang.lib  +
c:\harbour\lib\hbmacro.lib  +
c:\harbour\lib\hbrdd.lib  +
c:\harbour\lib\rddntx.lib  +
c:\harbour\lib\rddcdx.lib  +
c:\harbour\lib\rddfpt.lib  +
c:\harbour\lib\hbsix.lib  +
c:\harbour\lib\hbdebug.lib  +
c:\harbour\lib\hbcommon.lib  +
c:\harbour\lib\hbpp.lib  +
c:\harbour\lib\hbcpage.lib  +
c:\harbour\lib\hbcplr.lib  +
c:\harbour\lib\hbct.lib  +
c:\harbour\lib\hbpcre.lib  +
c:\harbour\lib\xhb.lib  +
c:\harbour\lib\hbziparc.lib  +
c:\harbour\lib\hbmzip.lib  +
c:\harbour\lib\hbzlib.lib  +
c:\harbour\lib\minizip.lib  +
c:\harbour\lib\png.lib  +
c:\harbour\lib\hbcurl.lib  +
c:\harbour\lib\hbusrrdd.lib  +
c:\harbour\lib\hbtip.lib  +
c:\harbour\lib\hbmxml.lib  +
c:\harbour\lib\hbmisc.lib  +
C:\bcc7\lib\cw32.lib  +
C:\bcc7\lib\uuid.lib  +
C:\bcc7\lib\import32.lib  +
C:\bcc7\lib\psdk\odbc32.lib  +
C:\bcc7\lib\psdk\nddeapi.lib  +
C:\bcc7\lib\psdk\Iphlpapi.lib  +
C:\bcc7\lib\psdk\msimg32.lib  +
C:\bcc7\lib\psdk\psapi.lib  +
C:\bcc7\lib\psdk\rasapi32.lib  +
C:\bcc7\lib\psdk\gdiplus.lib  +
C:\bcc7\lib\psdk\riched20.lib  +
C:\bcc7\lib\psdk\shell32.lib  +
C:\bcc7\lib\psdk\urlmon.lib,
 
my result that look for me the same

Code: Select all

c:\bcc7\lib\c0w32.obj + 
obj\CLICK2.obj   obj\CMD_LIST.obj   obj\DECLBUST.obj   obj\ERR_LOG.obj   obj\FILNPATH.obj   obj\FUNCTRAK.obj   obj\JULIAN.obj   obj\LIBREAD.obj   obj\NICEDATE.obj   obj\OBUFREAD.obj   obj\OBUFWRIT.obj   obj\PRB_AMPM.obj   obj\PRB_POP.obj   obj\PRB_PROP.obj   obj\PRB_STAK.obj   obj\PROFILE.obj   obj\QSORT.obj   obj\READLIST.obj   obj\READLNK.obj   obj\TOKEN.obj   obj\XBASE.obj , + 
CLICK3.exe, + 
CLICK3.map, + 
c:\fwh\lib\FiveH.lib c:\fwh\lib\FiveHC.lib + C:\fwh\lib\libcurl.lib + 
c:\harbour\lib\win\bcc\hbwin.lib + 
c:\harbour\lib\win\bcc\gtgui.lib + 
c:\harbour\lib\win\bcc\hbrtl.lib + 
c:\harbour\lib\win\bcc\hbvm.lib + 
c:\harbour\lib\win\bcc\hblang.lib + 
c:\harbour\lib\win\bcc\hbmacro.lib + 
c:\harbour\lib\win\bcc\hbrdd.lib + 
c:\harbour\lib\win\bcc\rddntx.lib + 
c:\harbour\lib\win\bcc\rddcdx.lib + 
c:\harbour\lib\win\bcc\rddfpt.lib + 
c:\harbour\lib\win\bcc\hbsix.lib + 
c:\harbour\lib\win\bcc\hbdebug.lib + 
c:\harbour\lib\win\bcc\hbcommon.lib + 
c:\harbour\lib\win\bcc\hbpp.lib + 
c:\harbour\lib\win\bcc\hbcpage.lib + 
c:\harbour\lib\win\bcc\hbcplr.lib + 
c:\harbour\lib\win\bcc\hbct.lib + 
c:\harbour\lib\win\bcc\hbpcre.lib + 
c:\harbour\lib\win\bcc\xhb.lib + 
c:\harbour\lib\win\bcc\hbziparc.lib + 
c:\harbour\lib\win\bcc\hbmzip.lib + 
c:\harbour\lib\win\bcc\hbzlib.lib + 
c:\harbour\lib\win\bcc\minizip.lib + 
c:\harbour\lib\win\bcc\png.lib + 
c:\harbour\lib\win\bcc\hbcurl.lib + 
c:\harbour\lib\win\bcc\hbusrrdd.lib + 
c:\harbour\lib\win\bcc\hbtip.lib + 
c:\harbour\lib\win\bcc\hbmxml.lib + 
c:\harbour\lib\win\bcc\hbmisc.lib + 
c:\bcc7\lib\cw32.lib + 
c:\bcc7\lib\uuid.lib + 
c:\bcc7\lib\import32.lib + 
c:\bcc7\lib\psdk\odbc32.lib + 
c:\bcc7\lib\psdk\nddeapi.lib + 
c:\bcc7\lib\psdk\iphlpapi.lib + 
c:\bcc7\lib\psdk\msimg32.lib + 
c:\bcc7\lib\psdk\psapi.lib + 
c:\bcc7\lib\psdk\rasapi32.lib + 
c:\bcc7\lib\psdk\gdiplus.lib + 
c:\bcc7\lib\psdk\riched20.lib + 
c:\bcc7\lib\psdk\shell32.lib + 
c:\bcc7\lib\psdk\urlmon.lib, 
CLICK2.res 
 
you can compare it easy while i sort it in exact same Way so scroll both Code to compare.

CLICK2.MAK

Code: Select all

#Borland make sample, (c) FiveTech Software 2005-2009

HBDIR=c:\harbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
CLICK2.PRG   \
CMD_LIST.PRG \
DECLBUST.PRG \
ERR_LOG.PRG  \
FILNPATH.PRG \
FUNCTRAK.PRG \
JULIAN.PRG   \
LIBREAD.PRG  \
NICEDATE.PRG \
OBUFREAD.PRG \
OBUFWRIT.PRG \
PRB_AMPM.PRG \
PRB_POP.PRG  \
PRB_PROP.PRG \
PRB_STAK.PRG \
PROFILE.PRG  \
QSORT.PRG    \
READLIST.PRG \
READLNK.PRG  \
TOKEN.PRG    \
XBASE.PRG

PROJECT    : CLICK3.EXE

CLICK3.exe  : $(PRG:.PRG=.OBJ) $(C:.C=.OBJ) CLICK2.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\CLICK2.obj   \
        obj\CMD_LIST.obj \
        obj\DECLBUST.obj \
        obj\ERR_LOG.obj  \
        obj\FILNPATH.obj \
        obj\FUNCTRAK.obj \
        obj\JULIAN.obj   \
        obj\LIBREAD.obj  \
        obj\NICEDATE.obj \
        obj\OBUFREAD.obj \
        obj\OBUFWRIT.obj \
        obj\PRB_AMPM.obj \
        obj\PRB_POP.obj  \
        obj\PRB_PROP.obj \
        obj\PRB_STAK.obj \
        obj\PROFILE.obj  \
        obj\QSORT.obj    \
        obj\READLIST.obj \
        obj\READLNK.obj  \
        obj\TOKEN.obj    \
        obj\XBASE.obj , + >> b32.bc
   echo CLICK3.exe, + >> b32.bc
   echo CLICK3.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + C:\fwh\lib\libcurl.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hblang.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmacro.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbrdd.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddntx.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\rddfpt.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbdebug.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcommon.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbpp.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcplr.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbpcre.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\xhb.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbziparc.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmzip.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbzlib.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\minizip.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\png.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbcurl.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbusrrdd.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbtip.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmxml.lib  + >> b32.bc
   echo $(HBDIR)\lib\win\bcc\hbmisc.lib  + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\win\bcc\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\win\bcc\Ace32.lib + >> b32.bc

   rem was *.HBC but dupe
   rem echo $(BCDIR)\lib\hbct.lib      + >> b32.bc
   rem echo $(BCDIR)\lib\hbtip.lib     + >> b32.bc
   rem echo $(BCDIR)\lib\hbwin.lib     + >> b32.bc
   rem echo $(BCDIR)\lib\hbfship.lib   + >> b32.bc
   rem echo $(BCDIR)\lib\hbxpp.lib     + >> b32.bc
   rem echo $(BCDIR)\lib\hbmzip.lib    + >> b32.bc
   rem echo $(BCDIR)\lib\hbziparc.lib  + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib  +  >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\riched20.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\urlmon.lib,  >> b32.bc

   IF EXIST CLICK2.res echo CLICK2.res >> b32.bc
   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< /L /N /W /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include
  $(BCDIR)\bin\bcc32 -c -tWM -I$(HBDIR)\include -oobj\$& obj\$&.c

.C.OBJ:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

CLICK2.res : CLICK2.rc
  $(BCDIR)\bin\brc32.exe -r CLICK2.rc
and GO.BAT

Code: Select all

if not exist obj md obj
c:\bcc7\bin\make.exe -fCLICK2.mak
 
please help to get rid of last 6 Error and tell me where they come from :idea:
greeting,
Jimmy
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

hm ...

i just have "delete" all (wrong) harbour LIBs in FivEdit IDE and add new from LIB\WIN\BCC
now i got same Error like *.MAK file
Turbo Incremental Link 6.70 Copyright (c) 1997-2014 Embarcadero Technologies, Inc.
Error: Unresolved external '_HB_FUN_OCCURS' referenced from C:\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_hb_strAtI' referenced from C:\FWH\LIB\FIVEH.LIB|VSTRFUN1
Error: Unresolved external '_HB_FUN_HB_BLEN' referenced from C:\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN___OLEVARIANTNEW' referenced from C:\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_hb_extIsNil' referenced from C:\FWH\LIB\FIVEHC.LIB|RICHEDIT
Error: Unresolved external '_HB_FUN_HB_TSTOUTC' referenced from C:\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unable to perform link
Link Error
so it work with EMPTY \LIB but fail with right LIB\WIN\BCC :shock:
greeting,
Jimmy
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: AppSys Problem with Demo Code

Post by Jimmy »

hi,

now i have change in *.MAK all back to same like FivEdit C:\harbour\lib and now no Error when Compile / Link :D

Code: Select all

#Borland make sample, (c) FiveTech Software 2005-2019

HBDIR=c:\harbour
BCDIR=c:\bcc7
FWDIR=c:\fwh

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
CLICK2.PRG   \
CMD_LIST.PRG \
DECLBUST.PRG \
ERR_LOG.PRG  \
FILNPATH.PRG \
FUNCTRAK.PRG \
JULIAN.PRG   \
LIBREAD.PRG  \
NICEDATE.PRG \
OBUFREAD.PRG \
OBUFWRIT.PRG \
PRB_AMPM.PRG \
PRB_POP.PRG  \
PRB_PROP.PRG \
PRB_STAK.PRG \
PROFILE.PRG  \
QSORT.PRG    \
READLIST.PRG \
READLNK.PRG  \
TOKEN.PRG    \
XBASE.PRG

PROJECT    : CLICK2.EXE

CLICK2.exe  : $(PRG:.PRG=.OBJ) $(C:.C=.OBJ) CLICK2.res
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo obj\CLICK2.obj   \
        obj\CMD_LIST.obj \
        obj\DECLBUST.obj \
        obj\ERR_LOG.obj  \
        obj\FILNPATH.obj \
        obj\FUNCTRAK.obj \
        obj\JULIAN.obj   \
        obj\LIBREAD.obj  \
        obj\NICEDATE.obj \
        obj\OBUFREAD.obj \
        obj\OBUFWRIT.obj \
        obj\PRB_AMPM.obj \
        obj\PRB_POP.obj  \
        obj\PRB_PROP.obj \
        obj\PRB_STAK.obj \
        obj\PROFILE.obj  \
        obj\QSORT.obj    \
        obj\READLIST.obj \
        obj\READLNK.obj  \
        obj\TOKEN.obj    \
        obj\XBASE.obj , + >> b32.bc
   echo CLICK3.exe, + >> b32.bc
   echo CLICK3.map, + >> b32.bc
   echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + C:\fwh\lib\libcurl.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\hblang.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmacro.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrdd.lib + >> b32.bc
   echo $(HBDIR)\lib\rddntx.lib + >> b32.bc
   echo $(HBDIR)\lib\rddcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\rddfpt.lib + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\hbdebug.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcommon.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpp.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib  + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib  + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib  + >> b32.bc
   echo $(HBDIR)\lib\png.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbcurl.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbusrrdd.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbtip.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbmxml.lib  + >> b32.bc
   echo $(HBDIR)\lib\hbmisc.lib  + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib  +  >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\gdiplus.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\riched20.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\shell32.lib  +  >> b32.bc
   echo $(BCDIR)\lib\psdk\urlmon.lib,  >> b32.bc

   IF EXIST CLICK2.res echo CLICK2.res >> b32.bc
   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< /L /N /W /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include
  $(BCDIR)\bin\bcc32 -c -tWM -I$(HBDIR)\include -oobj\$& obj\$&.c

CLICK2.res : CLICK2.rc
  $(BCDIR)\bin\brc32.exe -r CLICK2.rc
i do not use external "C" Code so i do not include

Code: Select all

.C.OBJ:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp
perhaps this was the Difference to Original Sample c:\fwh\makes\bormake.zip

so far all is fine and App work ... BUT i still have a DOS BOX :roll:
i will try to make a new Demo with "this" Type of *.MAK
greeting,
Jimmy
Post Reply