` Code template to call a procedure (James Fortune) - Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

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.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: