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>