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
