// strStart, // 起始路径, ""表示根 Package GetOneLevelDirPackage(string strStart) { int nRet; byte [] baPackage = null; // bool bSetDefault = false; // 表示是否使用过缺省帐户 //bool bFirstLogin = true; Package package = new Package(); // CWaitCursor cursor; if (Channel == null) { Channel = channelarray.CreateChannel(0); } Debug.Assert(Channel != null, "channel尚未初始化"); Cursor.Current = Cursors.WaitCursor; if (Stop != null) { Stop.OnStop += new StopEventHandler(this.DoStop); Stop.SetMessage("正在列目录 '" + strStart + "' ..."); Stop.BeginLoop(); } try { nRet = Channel.Dir(strStart, out baPackage); } finally { if (Stop != null) { Stop.EndLoop(); Stop.OnStop -= new StopEventHandler(this.DoStop); Stop.Initial(""); } Cursor.Current = Cursors.Default; } if (nRet == -1) { Channel.ErrorBox(this, "restree", "列目录发生错误"); goto ERROR1; } package.LoadPackage(baPackage, Channel.GetPathEncoding(strStart)); package.Parse(PackageFormat.String); return(package); ERROR1: return(null); }