AnyScreen - Adding to a 100% Hand Coded Project

The topic " Implementing AnySreen in a 100% hand-coded application " is in the AnyScreen help and just documents adding 2 AS lines of code.

MAP  ...
INCLUDE('AnyScreen.inc')          ! Add #1 
...
CODE
AnyScreen:Init()                  ! Add #2  Initialize AnyScreen

That will not build reporting a number of missing files like ClaAnyScreen.lib. I reviewed the AnyScreen.TPL to get the required project settings.

  1. Project Defines add: _AnyScreenPresent_=>1

  2. After MAP add code line: INCLUDE('AnyScreen.inc')

  3. After CODE add code line: AnyScreen:Init() ! Initialize AnyScreen

  4. Before CODE add the project settings below as PRAGMA’s. You could add these in the Project Pad but that’s pain compared to just pasting in the Pragma() lines:

!-- Added AnyScreen Project Settings Here -- Top -- from AnyScreen.TPL --
 PRAGMA('project(#file copy 7z.exe)')  !#PROJECT('None(7z.exe),CopyToOutputDirectory=Always')
 PRAGMA('link(ClaAnyScreen.lib)')      !#PROJECT('ClaAnyScreen.lib')
 PRAGMA('link(ClaAnyScreenNet.lib)')   !#PROJECT('ClaAnyScreenNet.lib')
 PRAGMA('link(ClaI2PDF.lib)')          !#PROJECT('None(ClaI2PDF.dll),CopyToOutputDirectory=Always')  
 PRAGMA('link(ClaASC.lib)')            !#PROJECT('C%V%ASC%X%%L%.LIB') 
 PRAGMA('link(ClaDOS.lib)')            !#PROJECT('C%V%DOS%X%%L%.LIB') 
 PRAGMA('link(ClaOLE.lib)')            !#PROJECT('C%V%OLE%X%%L%.LIB') 
!-- Added AnyScreen Project Settings -- End --

   INCLUDE('AnyScreen.inc')
CODE
   AnyScreen:Init() ! Initialize AnyScreen

In this Sheet Tab project Repo on GitHub the SheetTab_AnyScreen.Clw / CwProj file has these settings. It builds and runs using the IDE AnyScreen button.

The Run and Help are under this button in the IDE

image

Maybe they could add those pragmas to the .inc. That’s what I do in my .incs with dependencies.