Peter J Farrell said:
> ImageNew() is no different that StructNew(), ArrayNew(), etc.  CFML as a
> language doesn't really expose objects to us.  ImageNew() is a data type
> and nothing less.  In my opinion, this is a really shame that this
> wasn't the direction that was taken.  All the ImageXXX() functions
> polluted the root namespace of the language.  The same applied for all
> the SpreadsheetXXX() functions.  So I'm with Alan that it should have
> been things like img = ImageNew(); img.resize().  So I think Alan and I
> are in agreement here.

I agree completely. Unfortunately, that's not what we have to work
with at the moment and I try not to muddy the waters in ColdFusion
groups about how things *should* have been done because it confuses
people who read it and think maybe that's how it *is* done. If that
makes any sense.

In that regard, I call datatypes objects, because if you're doing OOP
in ColdFusion (or using any of the popular MVCs) they are referenced
and regarded as objects, even though they are just structs in most
cases. My aim is to try to help people learn how to use what we have
to work with. If the community pushes for a change (which, fwiw, they
are) to a more OOP type language then we might see things like
ImageNew() fall out of the global namespace (if only!).

As it stands right now though, the way they did it commercially was to
optimize the OOP-ish way of doing things in ColdFusion - largely a
result of the community driving that change. The OOP-ish way of doing
things is to use no argument constructors returning (as Peter has
observed) an empty struct, and then calling methods (in this case,
functions and tags in a polluted namespace) that do something with
that struct. Struct and object are one and the same in my mind when
I'm talking about ColdFusion and I find that to be a good habit,
especially for those that come from other true OOP capable languages
or those that are just cutting their teeth on OOP with ColdFusion.

And no, Alan, I was not aiming anything at you. I forget sometimes
that people are unfamiliar with how google groups (and most
newsgroups) work.

Let it be said now that none of my posting are to be taken personally
and none of them are 'aimed' at anyone at all - they are meant for
everyone to enjoy now and, perhaps sometime down the road when someone
does a Google search on a related topic. I am merely here to offer
what I know when I can for others to learn from, and am not interested
in any wars, arguments, flames or other such personality conflicts.
We're not in a competition folks - we're a community of users of one
of the greatest RAD environments on the planet (for all it's yay's and
nay's) helping each other along.

And yes, back to the Farcry issue - if BD isn't returning an empty
struct from ImageNew() then that could very well be the problem.

-- 
Open BlueDragon Public Mailing List
 http://www.openbluedragon.org/   http://twitter.com/OpenBlueDragon
 official manual: http://www.openbluedragon.org/manual/
 Ready2Run CFML http://www.openbluedragon.org/openbdjam/

 mailing list - http://groups.google.com/group/openbd?hl=en

Reply via email to