Test.exe wrote the following to stdout;

param2=This is also a test



SAColorize.dll wrote the following to stdout;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
   <TITLE>ExecApp Sample</TITLE>
</HEAD>

<BODY>

<!--- Both samples will simply output the data that is sent to them --->

<!---
   This is an example of the EXECAPP tag.  Below are two different
   methods for using the EXECAPP tag.

   Example #1 uses a standard .exe file, and Example #2 uses a
   Windows dynamic link library.

   Parameters which are passed to the binary to be executed, are 
   send as paramater=data_value.  (Example #1 results in 
   "param1=This is a test" "param2=This is also a test" )

   If a NAME= sub-tag is not specified, the data is sent with no 
   name or '='.  (Example #1 results in "This is a test" "This is also a test"
   if the (PARAM) NAME= sub-tag were removed)
--->

<SAEXECAPP Name=Test1 VALUE="Test.exe">
   <SAPARAM NAME="param1" VALUE="This is a test">
   <SAPARAM NAME="param2" VALUE="This is also a test">
</SAEXECAPP>

<H4>Test.exe wrote the following to stdout;</H4>
<!--- The below line replaces all carriage returns with <BR> --->
<SAOUTPUT VALUE=Replace( Test1, CHAR(10), Markup("BR") )>

<BR><HR><BR>

<!---
   This example shows using EXECAPP to execute a DLL from within 
   SteelArrow.  The parameter passing is as discussed above.

   Key difference with DLL functionality is the passing of the 
   called function after the DLL name.  
   (TestDll.dll?SomeFunc  -- calls SomeFunc within the TestDll.dll)

   [Developers:] 
      Calling prototype for exe,com functionality is;
         int FunctionName( int argc, char** argv )  
      Calling prototype for dll functionality is;
         int FunctionName( int argc, char** argv )  
--->

<!--- Read in this file, and colorize it --->
<SAREADFILE FILE="ExecApp.aro" NAME=fileData>

<SAEXECAPP Name=Test2 VALUE="SAColorize.dll?ColorizeSteelArrow">
   <SAPARAM VALUE=fileData>
</SAEXECAPP>

<H4>SAColorize.dll wrote the following to stdout;</H4>
<SAOUTPUT>
<PRE>#Test2#</PRE>
</SAOUTPUT>

<!---  All data written to STDOUT is stored in the NAME= variable
       in both instances discussed above.  If nothing is written to
       STDOUT, the named variable will contain the integer return value.
-->

</BODY>
</HTML>