HomeClarion Live! UniversitySuppress Global Data and Exports Template by Robert Artigas
 
  • PDF

Suppress Global Data and Exports Template by Robert Artigas

Robert Artigas:

This is related to the Benjamin Dell article related to single ABC dll with all classes. After reading I remember I did this to have multiple dictionaries in different libraries hooked up in an executable. Please note the date.

The same template works on ABC and Legacy I just had two of them.

[Used] To supress globals if you want to hookup DLL's with different dictionaries. Like a standard dictionary and a customer specific dictionary.

Had to do that in 2000, so it got worked out. This was posted in Steve Parkers site a long time ago,

This has worked in C4, C5, C5.5, and C6. I just used it to create an ABC only DLL as Benjamin's article sugested and not have to use LIBMAKER on the resulting DLL.

Did it in 2000 in C4. Eleven years ago.
Posted it on Steve Parkers site.
It comes up periodically.
So I reposted it here.
The how to suppress the GLOBAL stuff.

--UPDATED CODE: 3/16/2011

#!--------------------------------------------------------------------
#!--------------------------------------------------------------------
#!--------------------------------------------------------------------
#! RA.2011.03.15    Roberto Artigas Jr
#!  *   Combined the class family into one template.
#! RA.2000.02.21    Roberto Artigas Jr
#!  *   Tested with ABC and the same code works for both (different template).
#! RA.2000.01.29    Roberto Artigas Jr
#!  *   This is used to make sure that the GLOBAL data area of a code only
#!      DLL (no DCT, no FRAME) as a subroutine library does not export the
#!      GlobalRequest, GlobalResponse, VcrRequest DATA variables which can
#!      conflict (duplicate entries) when linking in with another DLL.
#!      This HAS been tested with a 'Clarion' template generated DLL only.
#!      This has NOT been tested with an 'ABC' template generated DLL.
#!      A 'Clarion' generated DLL can link into an 'ABC' generated DLL.
#!--------------------------------------------------------------------
#EXTENSION(NoGlobalDataExports,'RA.2000.01.29 - Suppress Global Data Exports (CW20,ABC)')
#SHEET
  #TAB ('General')
    #DISPLAY('Template Chain: zRobArt0(Rob_Art.Tpl)')
    #DISPLAY('Template Name: NoGlobalDataExports')
  #ENDTAB
#ENDSHEET
#!--------------------------------------------------------------------
#ATSTART
  #DECLARE(%HoldGlobalExternal)
#ENDAT
#AT(%BeginningExports)
  #SET(%HoldGlobalExternal,%GlobalExternal)
  #SET(%GlobalExternal,%True)
#ENDAT
#AT(%DLLExportList)
  #SET(%GlobalExternal,%HoldGlobalExternal)
#ENDAT
#!--------------------------------------------------------------------
#!--------------------------------------------------------------------
#!--------------------------------------------------------------------
Joomla Templates: by JoomlaShack