// For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#if wxUSE_DATAOBJ
+
+#include "wx/dataobj.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/defs.h"
     #include "wx/intl.h"
     #include "wx/log.h"
+    #include "wx/image.h"
 #endif
 
-#if wxUSE_DATAOBJ
-
-#include "wx/dataobj.h"
 #include "wx/mstream.h"
-#include "wx/image.h"
 
 #include "wx/os2/private.h"
 
 } // end of wxDataFormat::GetId()
 
 void wxDataFormat::SetId (
-  const wxChar*                     zId
+  const wxString&                     zId
 )
 {
     m_uFormat = ::WinAddAtom( ::WinQuerySystemAtomTable()
-                             ,(PSZ)zId
+                             ,zId.char_str()
                             );
 } // end of wxDataFormat::SetId
 
         sFilenames += (wxChar)0;
     }
 
-    memcpy(pBuf, sFilenames.mbc_str(), sFilenames.Len() + 1);
+    memcpy(pBuf, sFilenames.mbc_str(), sFilenames.length() + 1);
     return true;
 }
 
 
     for (size_t i = 0; i < m_filenames.GetCount(); i++)
     {
-        nRes += m_filenames[i].Len();
+        nRes += m_filenames[i].length();
         nRes += 1;
     }