Firstly, I changed the heading and started a new thread.

This is VERY much On Topic because it involves how Cold Fusion operates.

Secondly..........

<CFPARAM> is your friend once again.......

If you create a <CFPARAM> with a "name" attribute and DONT provide a "default" attribute, it will cause an error to be generated in Cold Fusion (at least in CFMX - if not in earlier versions) if the variable does not exist.

Also, if you create a <CFPARAM> and provide a "type" attribute, and the variable already exists and is NOT of that type, it will cause an error to be generated in Cold Fusion (again - at least in CFMX).

Don't forget - the "type" attribute also supports a type of "any" - which may seem redundant, but isn't really.  That is because you can EXPLICITLY say the variable is allowed to hold ANY type.

All from Page 223 of the CFML Reference for CFMX.

SO.....

If you just throw a bunch of <CFPARAM name="" type=""> declarations at the bottom of your page, it will trigger errors if the variables are not declared already and/or are not of the correct type.

AND - you can use it for any variable scope.

Sure, you have to remember to actually do it - but you only have to remember to do it once, and then it will always be there.


There is one drawback with this mechanism still though, it does not actually tell you if you used a variable that you never created or assigned (ie. a typo in a variable name).

It would be possible to extend Vaughan's example and have the end tag generate the <CFPARAM> tags for you (although you might need to tweak the way it was storing the CF_DECLARE stuff so that you could carry over type as well as name).  Then you could still test for the existence of variables that were never assigned values.



Gary Menzel
IT Operations Brisbane -+- ABN AMRO Morgans Limited
Level 29, 123 Eagle Street BRISBANE QLD 4000
PH: 07 333 44 828  FX:  07 3834 0828
****************************************************************************
If this communication is not intended for you and you are not an authorised
recipient of this email you are prohibited by law from dealing with or
relying on the email or any file attachments. This prohibition includes
reading, printing, copying, re-transmitting, disseminating, storing or in
any other way dealing or acting in reliance on the information. If you
have received this email in error, we request you contact ABN AMRO Morgans
Limited immediately by returning the email to [EMAIL PROTECTED]
and destroy the original. We will refund any reasonable costs associated
with notifying ABN AMRO Morgans. This email is confidential and may contain
privileged client information. ABN AMRO Morgans has taken reasonable steps
to ensure the accuracy and integrity of all its communications, including
electronic communications, but accepts no liability for materials
transmitted. Materials may also be transmitted without the knowledge of ABN
AMRO Morgans. ABN AMRO Morgans Limited its directors and employees do not
accept liability for the results of any actions taken or not on the basis
of the information in this report. ABN AMRO Morgans Limited and its
associates hold or may hold securities in the companies/trusts mentioned
herein. Any recommendation is made on the basis of our research of the
investment and may not suit the specific requirements of clients.
Assessments of suitability to an individual's portfolio can only be made
after an examination of the particular client's investments, financial
circumstances and requirements.
****************************************************************************
--- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] MX Downunder AsiaPac DevCon - http://mxdu.com/

Reply via email to