В моем коде я использую три функции ..
Функция CreateDict()
- создает объект словаря и возвращает его
Функция UpdateDict(arg)
- заполняет предоставленный словарь новыми значениями
Функция RefreshDict()
- используется для временного сохранения текущего состояния словаря перед его очисткой, в то же время создавая новый словарь, в котором сохраняется новое состояние, после чего оно возвращается в текущий словарь.
Проблема находится в RefreshDict()
, а код выглядит так:
Set nd = CreateDict()
Set td = cd 'storing current dictionary state into temp dictionary
cd = UpdateDict(nd) 'update state of current dictionary
td.RemoveAll 'Clear the content; free memory
Примечание: cd
объявлено глобально в начале программы: Set cd = CreateDict()
Сбой компилятора в cd = UpdateDict(nd)
, но почему объект словаря не возвращается из UpdateDict
?