Indy 9 on BCB6: What are Username Password limits?

Giganews Newsgroups
Subject: Indy 9 on BCB6: What are Username Password limits?
Posted by:  poojo hackma (
Date: Fri, 10 Mar 2006

Our IT department wants us to use the most convoluted username/password
settings possible for our autoupdating software.

We entered their goofy string of garbage (something like
~eq$2EVIOE0833^8EEE#-.eSV%D) and now I am getting strange behavior from
other parts of the program* that had been working fine before.

Are their limitations on the username and password fields?  Since the
documentation I have only says that they are String properties, I would
assume that anything a String can accept would be fine ...but that may not
be the case.

Our specific version is Indy 9.0.17; I realize there are newer versions out
(Indy 9.0.50 came with our BDS2006 suite), but uninstalling the old and
installing the new Indy is time consuming and tedious.

Thanks in advance,

*FYI: For those that want to know, the particular process that no longer
works is below.  It is called when the user changes directories on the local
PC.  The only thing that has been added to this routine is the "try ...
catch()" block.  Remember that this had worked just fine earlier:
void __fastcall TMainForm::SetPath(AnsiString Value) {
  PItemIDList list;
  unsigned long flag = 0;
  unsigned long len = Value.Length();
  wchar_t* p = StringToOleStr(Value);
  if (PcShell != NULL)
    try {      // LPSHELLFOLDER PcShell; <- defined in class header
      OleCheck(PcShell->ParseDisplayName(Application->Handle, NULL, p, &len,
&list, &flag));
    } catch (const EOleSysError &e) {
      IErrorInfo **pperrinfo;
      GetErrorInfo(0, pperrinfo);
      MessageBox(Handle, AnsiString(e.ErrorCode + ": " + e.Message).c_str(),
                        "SetPath Error", MB_OK | MB_ICONERROR);

It fails simply with an EOleSysError #80070057: "The parameter is
incorrect".  I tried to get more information on this error's cause using
GetErrorInfo(), but the IErrorInfo parameter remains NULL.  It is highly
possible that I am using it incorrectly.