help needed for my first eXpress try

Xbase++ forum for Visual FoxPro developers
Post Reply
Message
Author
User avatar
alepap
Posts: 94
Joined: Tue Jul 28, 2015 5:15 am

help needed for my first eXpress try

#1 Post by alepap »

Hi, I ´m trying my first with eXpress++.
I cant build the project. Please help.

**** This is the problem i need to fix.
Xbase++ (R) ProjectBuilder Version 2.00.644
Copyright (c) Alaska Software 1997-2015. All rights reserved.
alink @C:\Users\alepap\AppData\Local\Temp\10242426.tmp
Alaska 32-Bit Linker Version 2.00.644
Copyright (c) Alaska Software 1997-2015. All rights reserved.

C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_LOADRDDS
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_GETTEMPLATE
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_GETLISTSET
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_GETANCHORCB
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_GETIDDEFAULT
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_DOT
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_GETOPTDEFAULT
C:\hello\HELLO.obj: error ALK2102: unresolved external symbol DC_READGUI
ALINK: fatal error ALK4102: 8 external symbols unresolved

'alink @C:\Users\alepap\AppData\Local\Temp\10242426.tmp' returned error 1
Processing time: 0.03 secs.


** this is my path
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\ProgramData\Oracle\Java\javapath;c:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SDKs\TypeScript\1.1\;C:\Program Files\Skype\Phone\;C:\Program Files\Common Files\Acronis\SnapAPI\;C:\Program Files\Windows Live\Shared;C:\Program Files\FERRO Software\FtpUse;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\ALASKA_XX\BIN;C:\BAT;C:\exp20\bin20;C:\exp20\bin

** this is my LIB
C:\hello>echo %lib%
C:\ALASKA_XX\LIB;C:\exp20\lib

** this is my include
C:\hello>echo %include%
C:\ALASKA_XX\INCLUDE;C:\exp20\include

** I have prg running on 1.82 and some on 2.0
For this reason, I copy all the files of Alaska to a path c:\alaska_xx\*.* to be able to compile from one version to another.
Now I have the xbase 2.0 in the folder c:\alaska_xx

** this is my project file
[PROJECT]
HELLO.XPJ

[HELLO.XPJ]
HELLO.EXE

[HELLO.EXE]
COMPILE = xpp
GUI = yes
LINKER = alink
RC_COMPILE = arc
RC_FLAGS = /v
// $START-AUTODEPEND
std.ch
set.ch
natmsg.ch
get.ch
prompt.ch
memvar.ch
collat.ch
sql.ch
dcdialog.ch
xbp.ch
gra.ch
dcreg.ch
HELLO.obj
// $STOP-AUTODEPEND
HELLO.PRG
dcdesign.lib

** this is my hello.prg in c:\hello
This was done by Roger at the Xbase conference. I took pictures and retyped it to give it a try.

#include "dcdialog.CH"
#include "express.CH"
#include "appevent.CH"
#pragma library("dcdesign.LIB")

FUNCTION MAIN()
LOCAL GetList[0]
LOCAL cHello := SPACE(20)
LOCAL lStatus
LOCAL oBrowse
LOCAL oBrowse2
LOCAL oSay
LOCAL aHello[10]
LOCAL i
LOCAL GetOptions
LOCAL aDir := Directory()
LOCAL nPointer

AFILL(aHello,SPACE(20))

DC_LOADRDDS()
USE \exp20\data\customer VIA "FOXCDX"

@ 2, 10 DCSAY "HELLO WORLD" GET cHello ;
SAYFONT "24.Arial Bold" ;
SAYSIZE 0 ;
GETFONT "24.Arial Bold" ;
SAYCOLOR GRA_CLR_BLUE, GRA_CLR_PALEGRAY ;

@ 4, 40 DCGET aHello[1]
@ 6, 10 DCGET aHello[2]

DCHOTKEY xbeK_ALT_F12 ACTION {||DC_DOT()}

@ 8,10 DCBROWSE oBrowse DATA aDir SIZE 100,20 ;
POINTER nPointer ;
ITEMMARKED {||oSay:setCaption(aDir[nPointer,1])} ;
ITEMSELECTED {||IIF(oBrowse:colpos==1,(aDir[nPointer,1] := "Done", oBrowse:refreshCurrent()),nil)}

FOR i:= 1 TO 10
DCBROWSECOL ELEMENT i HEADER STR(i) PARENT oBrowse WIDTH 10
NEXT

@ 30, 10 DCSAY "" SAY SIZE 100 OBJECT oSay COLOR GRA_CLR_BLUE, GRA_CLR_WHITHE ;
FONT "12.Lucida Console Bold"

@ 32, 10 DCBROWSE oBrowse2 ALIAS "CUSTOMER" SIZE 100, 10 FONT "10.Courier New"

DCBROWSECOL FIELD CUSTOMER->BILL_NAME HEADER "Billing Name" PARENT oBrowse2 WIDTH 25
DCBROWSECOL FIELD CUSTOMER->BILL_STRT HEADER "Street" PARENT oBrowse2 WIDTH 25
DCBROWSECOL FIELD CUSTOMER->BILL_CITY HEADER "City" PARENT oBrowse2 WIDTH 25

DCGETOPTIONS ;
WINDOWHEIGHT 900 ;
WINDOWWIDTH 1000 ;
RESIZE ;
; // RESIZEDEFAULT DCGUI_RESIZE_AUTORESIZE ;
SOURCEFILE "\HELLO\HELLO.PRG"

DC_GETOPTDEFAULT(GetOptions)

DCREAD GUI TITLE "My First Hello" MODAL ;
FIT ;
ADDBUTTONS ;
TO lStatus OPTIONS GetOptions HANDLER myHandler

IF lStatus
MsgBox("Thank You")
ENDIF

RETURN NIL

* -------------------------------------------------------------------

PROC appsys ; RETURN

* -------------------------------------------------------------------

STATIC FUNCTION myHandler( nEvent, mp1, mp2, oXbp, oDlg, aGetList )
IF DC_DesignHandler( nEvent, mp1, mp2, oXbp, oDlg, aGetList ) == DCGUI_IGNORE
RETURN DCGUI_IGNORE
ENDIF
RETURN DCGUI_NONE

* -------------------------------------------------------------------

Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Re: help needed for my first eXpress try

#2 Post by Cliff Wiernik »

In your project file you need to include dclipx.lib. Some functions may also need dclip1.lib. You appear to only have dcdesign.lib in your project file.

User avatar
alepap
Posts: 94
Joined: Tue Jul 28, 2015 5:15 am

Re: help needed for my first eXpress try

#3 Post by alepap »

Thank you. This solved my problem.

User avatar
rdonnay
Site Admin
Posts: 4804
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: help needed for my first eXpress try

#4 Post by rdonnay »

You appear to only have dcdesign.lib in your project file.
There will be a new build in about 3 weeks, prior to the European Devcon.
I am dedicating this build to improving the designer. I will be showing the new design features in my sessions.
The eXpress train is coming - and it has more cars.

User avatar
alepap
Posts: 94
Joined: Tue Jul 28, 2015 5:15 am

Re: help needed for my first eXpress try

#5 Post by alepap »

There is a small difference using SET PROC vs PBUILD with a project.

I was using SET PROC TO from my first PRG file.
This worked great and now the new way is to use PBUILD and project file.

When I moved all my SET PROC (PRG) files to the project.xpj file, the compilation worked fine.
But there is an undocumented difference.

When you use the PBUILD for the project file, you must add all the #define in each PRG file.

Before when I was using the SET PROC, my defines are only in the first PRG file where the MAIN function is.
With PBUILD PROJECT.XPJ, you must have the defines in each PRG file that uses defines.

Post Reply