Тема: Проблема с методом CreateListView объекта WindowSystemObject
Пытаюсь написать простенький файловый менеджер, используя объект WindowSystemObject, метод CreateListView позволяет создать нужные поля для вывода в них информации. Но при попытки заполнить поля, информация в них не отображается. В документации по WSO толком ничего не нашел, вот код:
wso = new ActiveXObject("Scripting.WindowSystemObject")
FSO = new ActiveXObject("Scripting.FileSystemObject")
f = wso.CreateForm(0,0,0,0)
f.Text = "Файловый менеджер" //Заголовок
f.ClientWidth = 600
f.ClientHeight = 460
f.CenterControl() //Центировать
//Верхний фрейм
t = f.CreateFrame(0,0,0,30)
t.Align = wso.Translate("AL_TOP")
//Нижний фрейм
t = f.CreateFrame(0,0,0,30)
t.Align = wso.Translate("AL_BOTTOM")
//Общая сплит панель
z = f.CreateSplitPanel(0,0,0,0,false)
//Во все окно
z.Align = wso.Translate("AL_CLIENT")
//Встроенная сплит панель
s = z.CreateSplitPanel(0,0,0,0,true)
//Фрейм для общей сплит панели
t = CreateFrameL()
s.Width = 300
//Фрейм для встенной сплит панели
a = CreateFrameR()
//Размер по умолчанию
s.DefaultSplit = 0.5
ReadDir(ListViewL)
ReadDir(ListViewR)
function CreateFrameL(){
t = z.CreateFrame(0,0,300,0)
t.Name="L"
ListViewL = t.CreateListView(0,0,300,300,wso.Translate("LVS_REPORT | LVS_OWNERDATA | LVS_SHOWSELALWAYS"))
ListViewL.Columns.Add("Имя",100)
ListViewL.Columns.Add("Тип",50)
ListViewL.Columns.Add("Размер",100)
ListViewL.Columns.Add("Дата",100)
ListViewL.Columns.Add("Атрибуты",50)
ListViewL.GridLines = true
ListViewL.RowSelect = true
ListViewL.Align = wso.Translate("AL_CLIENT")
return t;
}
function CreateFrameR(){
a = s.CreateFrame(0,0,300,0)
a.Name="R"
ListViewR = a.CreateListView(0,0,300,300,wso.Translate("LVS_REPORT | LVS_OWNERDATA | LVS_SHOWSELALWAYS"))
ListViewR.Columns.Add("Имя",100)
ListViewR.Columns.Add("Тип",50)
ListViewR.Columns.Add("Размер",100)
ListViewR.Columns.Add("Дата",100)
ListViewR.Columns.Add("Атрибуты",50)
ListViewR.GridLines = true
ListViewR.RowSelect = true
ListViewR.Align = wso.Translate("AL_CLIENT")
return a;
}
function CurrentDir() {
var curD
curD = WScript.ScriptFullName;
curD = curD.substring(0,curD.lastIndexOf("\\")+1);
return curD
}
//Считываем список папок
function ReadDir(panel){
var subf, SubFolders, GetSub
panel.BeginUpdate()
panel.Clear()
subf = FSO.GetFolder(CurrentDir())
ListViewL.Count = subf.SubFolders.Count
SubFolders = new Enumerator(subf.SubFolders);
for (; !SubFolders.atEnd(); SubFolders.moveNext()) {
GetSub = FSO.GetFileName(SubFolders.item())
panel.Add(GetSub)
}
ListViewL.EndUpdate()
}
f.Show()
wso.Run()
В чем ошибка? В примерах по WSO фигурирует свойство OnData - Свойство позволяет задать обработчик события OnData через 2-й уровень. А как, что и к чему не описано.

