• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ls: Illegal Redim

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Код:
Class c_MasFiles
Public Count As Integer
Public Rec() As c_RecFiles

Sub Add2Class(sName As String, sPath As String, sSub As String, bFile As Boolean) ' Добавить в класс файл или директорию
Dim i As Integer
me.Count = me.Count + 1
i = me.Count 
ReDim Preserve me.Rec(i)
Set Me.Rec(i) = New c_RecFiles
Me.Rec(i).NameFile = sName
Me.Rec(i).Path = sPath
Me.Rec(i).sSubdir = sSub
Me.Rec(i).FullPath = sPath & sSub & sName
Me.Rec(i).isFile = bFile
End Sub

ReDim Preserve me.Rec(i)
тут ошибка, причем на срабатывании в 6й раз....я в глубокой непонятке
это не фиксированный массив
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
0-ой элемент злонамеренно пропускается?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
179
Try:
Код:
ReDim Preserve me.Rec(i) as c_RecFiles

PS. I use LIST

Добавлено: О переключилась.
Может действительно тип меняется, но странно почему на 6-ой раз.
И может действительно использовать список раз 0-й элемент пустует.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
вот нафига эти танцы с Count...
есть Ubound
нужен подсчет - Property Get Count As Long:Ubound(me.Rec)+1
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
вот нафига эти танцы с Count...
есть Ubound
нужен подсчет - Property Get Count As Long:Ubound(me.Rec)+1
то есть вместо чёткой и быстрой переменной ты предлагаешь каждый раз запускать тяжелую функцию которая считает размер? :)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
то есть вместо чёткой и быстрой переменной ты предлагаешь каждый раз запускать тяжелую функцию которая считает размер? :)
т.е. ты проводил замеры и готов поделится ими? :(

Добавлено: вот даже представить не могу - зачем мне Count
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Public Rec() As c_RecFiles
заменил на
Public Rec() As Variant

и всё проканало, первый раз с таким сталкиваюсь...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
Public Rec() As c_RecFiles
заменил на
Public Rec() As Variant

и всё проканало, первый раз с таким сталкиваюсь...
я тебе больше скажу - списки (с классами) и массивы классов "проще" указывать как Variant иначе и в итераторах (типа forall) можно наткнуться на type mismatch
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
т.е. ты проводил замеры и готов поделится ими? ;)

Добавлено: вот даже представить не могу - зачем мне Count
ты эта....иди индусам обьясни, на кой они в Col.Count используют :( :D :D видать совсем оборзели :p

Добавлено:
я тебе больше скажу - списки (с классами) и массивы классов "проще" указывать как Variant иначе и в итераторах (типа forall) можно наткнуться на type mismatch
В моей 15ти летней работы с лотусом - это произошло впервые :)
в данном контексте есть подозрение, что это из-за работы с функцией Dir() и её псевдо рекурсией...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!