` Printed Icetips Article

Icetips Article



Par2: Exporting procedures from ICSTD.CLW for handcoding in Multi-DLL IC apps
1999-07-29 -- Chris Rybitski
 
>When using a "data dll" (all files/globals in a dll), IC cannot handle
>exporting the procedures defined in 'ICSTD.INC/CLW'.  Normally, this is
>not a problem because these are, for the most part, internal procedures
>used by IC.  BUT -- if you are using IC in a more "advanced" manner, 

Here's the fix for those interested.  Unfortunately, it requires
modification to ICONNECT.TPL.

Look for '#AT (%DLLExportList)' (no quotes) in the template file.  There
should be only one instance.  Scroll down past that point until you find
this block of template code:

  #INSERT(%AddExpItem,'$Broker')
  #INSERT(%AddExpItem,'$HtmlManager')
  #INSERT(%AddExpItem,'$JavaEvents')
  #INSERT(%AddExpItem,'$ShutdownManager')
  #INSERT(%AddExpItem,'$WebServer')
  #INSERT(%AddExpItem,'$WebFilesManager')
  #INSERT(%AddExpPrototype, 'WebControlFactory(SIGNED),*WebControlClass')
  #INSERT(%AddExpPrototype, 'GetWebActiveFrame(),*WebFrameClass')
  #INSERT(%AddExpPrototype, 'SetWebActiveFrame(<<*WebFrameClass>)')

After the last #INSERT, insert the following:

#!
#!-------------------START ICSTD.INC Prototype adds to export - CSR 072899
#!
  #INSERT(%AddExpPrototype, 'IC:GetAlphaNumeric(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:ColorHex(ULONG),STRING')
  #INSERT(%AddExpPrototype, 'IC:ColorText(ULONG),STRING')
  #INSERT(%AddExpPrototype, 'IC:DuplicateChar(*CSTRING, STRING,STRING)')
  #INSERT(%AddExpPrototype, 'IC:EncodeBase64(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:DecodeBase64(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:Feq2Id(SIGNED,SIGNED=0),UNSIGNED')
  #INSERT(%AddExpPrototype, 'IC:GetBaseName(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:GetCommandLineOption(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:GetControlType(SIGNED),SIGNED')
  #INSERT(%AddExpPrototype, 'IC:GetPathname(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:GetPositionPixels(SIGNED Feq, *SIGNED x,
*SIGNED y, *SIGNED w, *SIGNED h)')
  #INSERT(%AddExpPrototype, 'IC:GetStrDateTime(LONG Date, LONG
Time),STRING')
  #INSERT(%AddExpPrototype, 'IC:Hex(ULONG),STRING')
  #INSERT(%AddExpPrototype, 'IC:Html2Clarion(STRING),STRING')
  #INSERT(%AddExpPrototype, 'IC:Id2Feq(UNSIGNED),SIGNED')
  #INSERT(%AddExpPrototype, 'IC:IsAbsoluteURL(STRING),SIGNED')
  #INSERT(%AddExpPrototype, 'IC:RemoveFile(STRING),SIGNED,PROC')
  #INSERT(%AddExpPrototype, 'IC:RGB(LONG),LONG')
  #INSERT(%AddExpPrototype, 'IC:TranslateFilename(STRING),STRING')
#!
#!-------------------END ICSTD.INC Prototype adds to export - CSR 072899
#!

That should do it.



Printed May 4, 2024, 11:08 pm
This article has been viewed/printed 35122 times.