Login
`
Templates, Tools and Utilities
|
||
Add a comment to an Icetips ArticlePlease add your comments to this article.
Please note that you must provide both a name and a valid email address in order
for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!
Back to article list Search Articles Add Comment Printer friendly Direct link Templates: Code template to call a procedure 1999-04-05 -- James Fortune Newsgroups: topspeed.products.c5ee
Editors note: Please note that some lines may wrap in the template code.
Hi Arnor
>> I also have a template floating around <<
Your template is very good but I found that it had slight probs.
1. You didn't allow a Return Value from a START whereas you can have
one - the thread no.
2. Some of the variations needed brackets around parameters and some
didn't.
So I 'cleaned it up' :-) Hope you like it!
#Template(CodeTemplates,'Code templates'),FAMILY('CW20'),FAMILY('ABC')
#!-------------------------------------------------------------------
#! Posted on Topspeed.Topic.Suggestions on March 1st, 1999
#! By Arnor Baldvinsson, Denmark (arnorbld@post3.tele.dk)
#! Modified by James Fortune on April 5th, 1999
#! This template may be distributed freely
#!-------------------------------------------------------------------
#Code(CallAProcedure,'Call a procedure')
#DISPLAY('This template will call or START a procedure while')
#DISPLAY('passing it parameters and specifying a return value!')
#DISPLAY('')
#PROMPT('Procedure to call:',PROCEDURE),%ProcedureToCall
#PROMPT('Parameters: (no brackets!)',@S255),%ProcedureToCallParameters
#PROMPT('Initiate thread',CHECK),%ProcedureToCallStart
#ENABLE(%ProcedureToCallStart)
#PROMPT('Thread Stack',@n6),%ProcedureToCallStack,DEFAULT(25000),REQ
#DISPLAY('Any return value can only receive the thread number!')
#ENDENABLE
#PROMPT('Return value (if any):',FIELD),%ProcedureToCallReturnValue
#ENDBOXED
#ENDBOXED
#IF(%ProcedureToCallParameters)
#IF(%ProcedureToCallReturnValue)
#IF(%ProcedureToCallStart)
%ProcedureToCallReturnValue =
START(%ProcedureToCall,%ProcedureToCallStack,%ProcedureToCallParameters)
#ELSE
%ProcedureToCallReturnValue =
%ProcedureToCall(%ProcedureToCallParameters)
#END
#ELSE
#IF(%ProcedureToCallStart)
START(%ProcedureToCall,%ProcedureToCallStack,%ProcedureToCallParameters)
#ELSE
%ProcedureToCall(%ProcedureToCallParameters)
#END
#END
#ELSE
#IF(%ProcedureToCallReturnValue)
#IF(%ProcedureToCallStart)
%ProcedureToCallReturnValue =
START(%ProcedureToCall,%ProcedureToCallStack)
#ELSE
%ProcedureToCallReturnValue = %ProcedureToCall
#END
#ELSE
#IF(%ProcedureToCallStart)
START(%ProcedureToCall,%ProcedureToCallStack)
#ELSE
%ProcedureToCall
#END
#END
#END
Kindest regards
James
James Fortune C.C.D.
james@accountforce.demon.co.uk
Using: C5EE ABC,DEF,CPCS,RPM,AFE,Super,DAS,PD,Ragazzi,FM2,ezHelp,Gitano,
UltraTree,QuickDDE,CM2,Xplore,ForeHelp3,BackFlash,CopyFlash,Impex,
CWA,Query & Report Wizard,UBeaut,J&S InBack & CPD Ctrl\,TimeSavers,
Locus,ABCFree,MultiProj,DemoShield,Wise,ClipMate
Today is November 21, 2024, 6:41 am This article has been viewed 35323 times. Google search has resulted in 29 hits on this article since January 25, 2004.
|
|