You added two overloaded versions of IcsExtractLastDir to
OcverbyteIcsUtils.pas on 6/4/2009:
  function IcsExtractLastDir (const Path: String): String; overload;
*  *function IcsExtractLastDir (const Path: UnicodeString): UnicodeString;

In D2009, I get "E2004 Identifier redeclared: 'IcsExtractLastDir'"

I haven't paid attention to recent ICS development, and I'm just now getting
into converting D6 projects to D2009 (& associated Unicode issues).
However, I believe the error is because String is aliased to UnicodeString
in D2009, so these are basically the same function.  Other OverbyteIcsUtils
functions that are overloaded use UTF8String, not String.  With the UTF8
version calling the UnicodeString version, like this:
function IcsExtractLastDir (const Path: UTF8String): UTF8String;
  Result := IcsExtractLastDir(AnsiToUnicode(Path, CP_UTF8));

I've made this change to the code I just grabbed from SVN and it now
compiles.  But I'm not sure that is what you intended to do.  :)


Jon Robertson
Borland Certified Advanced Delphi 7 Developer
Good programming is 40% experience, 30% skill, 20% RTFM, 10% caffeine, and
5% attention to detail.
To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to