Login
`
Templates, Tools and Utilities
|
||
Icetips Article
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, 3:37 am This article has been viewed 35322 times. Google search has resulted in 29 hits on this article since January 25, 2004.
|
|