December 08, 2003

lest we forget: cfxNeo.dll

i've spent the better part of the last week upgrading one of my municipal sites from cf5 to mx. some of the core bits of our municipal information system app were written in cf3 (we're slowly doing a complete re-write to port the whole mess to mx, though i'm still amazed at how fast the cf3 core ran & how little needed changing as we slid in newer versions of cf). i18n was a dim glimmer in my eye when this was written originally, we had to fight thru very basic things like thai date formatting, thai collation (sql server 6.5 never had a clue about thai collation), etc. we overcame these using c++ cfx tags (written by a brilliant c++ programmer who worked with me at the time, chatchawan boonraksa). these cfx tags were trouble free thru several cf upgrade cycles until mx. with the move to mx, these tags started producing garbage instead of thai language dates, transliteration, etc. this was a real head scratcher (were i had the poor municipality staff dance an irish jig in hopes of some insight ;-) mainly because i had this idea--even though i went thru this all in agonizing detail during redsky beta--that mx redsky had included the multi-byte CFXNeo.dll file needed to make older c++ cfx tags work properly with unicode. bad assumption. mx (except for the japanese and korean versions) ships with a single-byte CFXNeo.dll that doesn't know unicode from the backside of an elephant. swapping in the multi-byte CFXNeo.dll returned everything to normal. you can see all the gory details in this technote. so if your older c++ cfx i18n tags start exhibiting strange behavior, don't panic, dance the cfxNeo.dll jig ;-) we're of course moving all this to proper java-based i18n CFCs but this should hold the fort in the meantime.


Post a Comment

<< Home