Lastly, it might be worth making sure that the function HAS to take a CString - there are lots of examples of poorly-designed code that take CString parameters unnecessarily, when a simple LPCTSTR would work fine. What really makes me twinge is when they specify a CString& - by reference! when an LPCTSTR would have been just fine :rolleyes: People that start writing code immediately are programmers (or hackers), people that ask questions first are Software Engineers - Graham Shanks