The purpose of the IniArray UDF was not an alternative to Read/WriteProfileString, but specifically to overcome the size limitations of INI files. I wrote this for Shane some time ago and Allen's been using it as well.
In my testing, the moderately sized INI files used by my login script saw performance gains over repetetive ReadProfileString calls. I developed another version of this that uses Global arrays that is quite a bit faster, but I haven't published it because - while it works for my login script, it isn't very generic. And - since my login script is a closed-source commercial product, of course I don't publish every one of the UDFs it uses!
I am working on a generic version that uses global arrays, but that will alter the syntax of the read/write calls (eliminating the data source name) and will require careful management of the INI array if multiple data sources are needed. The published version does not have the limitation of a single, globally declared data source.
Glenn
_________________________
Actually I
am a Rocket Scientist!