сергей111222
03.02.2020, 14:11
Здравствуйте уважаемые друзья! Срочно нужна помощь,помогите плиз. Пишу обмен с МДЛП на 1С 7.7 платформа(027). При загрузки данных сравнительно не большого объема(от 500 килобайт) в любой com объект возникает
"Ошибка MFC42.DLL
исключение unknown software exception 0x800000fb в приложении по адресу 0x.......
инструкция по адресу 0x....... обратилась к памяти по адресу 0x....... Память не может быть read"
При чем такая ошибка возникает как на сервере так и на локальных ПК и под разными версиями ОС. Как можно обойти этот глюк платформы? Или это не глюк платформы? Но почему он возникает на совершенно разных машинах?
Вот пример:
CDO=СоздатьОбъект("CDO.Message");
БодиПарт=CDO.BodyPart;
Поля=БодиПарт.Fields;
Поле=Поля.Item("urn:schemas:mailheader:content-type");
Поле.Value="text/plain; charset=""windows-1251""";
Поля.Update();
Stream = БодиПарт.GetDecodedContentStream();
Stream.charset = "windows-1251";
Stream.WriteText(Стр);//Вот тут, если текст больше 500 кб то система отваливается.
Stream.Flush();
БодиПарт.ContentTransferEncoding = Кодировка;
Stream=БодиПарт.GetEncodedContentStream();
Возврат Stream.ReadText();
Пробовал запускать этот код и из под 8.3, там все ок.
Вот сижу и думаю писать внешние dll или все таки можно найти решение.
Пробовал отключать службу DEP, добавлять память в файл подкачки,копировать mfc42.dll в корень 1С 7.7 ни чего не помогло(
"Ошибка MFC42.DLL
исключение unknown software exception 0x800000fb в приложении по адресу 0x.......
инструкция по адресу 0x....... обратилась к памяти по адресу 0x....... Память не может быть read"
При чем такая ошибка возникает как на сервере так и на локальных ПК и под разными версиями ОС. Как можно обойти этот глюк платформы? Или это не глюк платформы? Но почему он возникает на совершенно разных машинах?
Вот пример:
CDO=СоздатьОбъект("CDO.Message");
БодиПарт=CDO.BodyPart;
Поля=БодиПарт.Fields;
Поле=Поля.Item("urn:schemas:mailheader:content-type");
Поле.Value="text/plain; charset=""windows-1251""";
Поля.Update();
Stream = БодиПарт.GetDecodedContentStream();
Stream.charset = "windows-1251";
Stream.WriteText(Стр);//Вот тут, если текст больше 500 кб то система отваливается.
Stream.Flush();
БодиПарт.ContentTransferEncoding = Кодировка;
Stream=БодиПарт.GetEncodedContentStream();
Возврат Stream.ReadText();
Пробовал запускать этот код и из под 8.3, там все ок.
Вот сижу и думаю писать внешние dll или все таки можно найти решение.
Пробовал отключать службу DEP, добавлять память в файл подкачки,копировать mfc42.dll в корень 1С 7.7 ни чего не помогло(