Я пытаюсь сохранить объект (Class1) в виде строки в значении ячейки. Моя проблема в том, что время от времени у меня есть ComException:
HRESULT: 0x8007000E (E_OUTOFMEMORY)
(Это довольно случайно, но я еще не определил какой-либо конкретный шаблон), когда я записываю значение в ячейку. Любые идеи будут приветствоваться
Для иллюстрации:
Пусть Class1 будет классом, который будет преобразован в строку XML. (Обратите внимание, что я удалил объявление xml в начале строки, чтобы избежать присутствия преамбулы - не печатного символа)
HL690375
</ Class1> "
Class1 myClass = new Class1 ();
этот класс конвертируется в строку s. s = ConvertObjectToXmlString (myClass);
тогда s присваивается ячейке
Диапазон r = Application.ActiveCell;
r.Value2 = s;
Примечание:
(1) Если строка слишком большая, я ограничиваю ее 32000 символов, разбиваю строку на 32000 символов и сохраняю фрагменты в нескольких ячейках.
(2) Я не цитирую строку перед добавлением в ячейку. Нужно ли мне? Если так, как это можно сделать?
(3) Все содержимое объекта на английском языке.
(4) Пример кода C # будет отличным, но код VB.net в порядке.