Страница 1 из 1

Exception при report.LoadDocument(string);

Добавлено: 24 ноя 2016, 11:32
S.Alexander
Зравствуйте!
При попытке загрузить готовый .mdc отчет через .LoadDocument(string), вылетает исключение:
"Попытка поместить указатель на файл перед началом файла.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileStream.SeekCore(Int64 offset, SeekOrigin origin)
в System.IO.FileStream.Seek(Int64 offset, SeekOrigin origin)
в Stimulsoft.Report.SaveLoad.StiXmlDocumentSLService.LoadOptimized(Stream stream, StiDocument document, StiSerializing sr)
в Stimulsoft.Report.SaveLoad.StiXmlDocumentSLService.Load(StiReport report, Stream stream)
в Stimulsoft.Report.StiReport.LoadDocument(StiDocumentSLService service, Stream stream)
в Stimulsoft.Report.StiReport.LoadDocument(Stream stream)
в Stimulsoft.Report.StiReport.LoadDocument(String path) "
Причем через Viewer.exe, он открылся. Вероятно проблема в том, что размер .mdc файла 2.1 Гб.

Подгружаю готовый отчет так:

Код: Выделить всё

var r = new Stimulsoft.Report.StiReport();
StiOptions.Engine.ReportCache.AmountOfQuickAccessPages = 5;
StiOptions.Engine.ReportCache.AmountOfProcessedPagesForStartGCCollect = 1;
r.ReportCacheMode = StiReportCacheMode.On;
r.LoadDocument(sVisual);
stiViewerControl1.Report = r;

Re: Exception при report.LoadDocument(string);

Добавлено: 24 ноя 2016, 15:24
HighAley
Здравствуйте.

У вас возникает эта проблема на всех больших отчетах или на каком-то определённом?
Можете прислать этот отчёт для анализа?

Спасибо.

Re: Exception при report.LoadDocument(string);

Добавлено: 24 ноя 2016, 15:51
S.Alexander
Раньше возникала такая ошибка, но как-то без внимания, пользователь решал все уменьшением размера прикладываемых pdf файлов. Сейчас занялся этим вопросм... Погуглил и все, что нашел, это то, что такая ошибка в различных ПО возникает при работе с файлами больше 2-х Гб. Как описывали -"видимо указатель на файл имеет тип данных например *int (32 бита со знаком)". Так что подтвердить стабильность появления я не могу. На текущий момент - это единственный такой большой отчет.
Не стал рисковать и пробовать загрузить его к Вам.
Ссылочка на скачивание: https://drive.google.com/file/d/0B8hrdl ... sp=sharing

Re: Exception при report.LoadDocument(string);

Добавлено: 25 ноя 2016, 11:14
HighAley
Здравствуйте, Александр.

Уточните, пожалуйста, используется 32- или 64-разрядная операционная система?
В каком режиме запускается приложение? Скорее всего вам поможет изменение Platform target на 64-бит.

Спасибо.

Re: Exception при report.LoadDocument(string);

Добавлено: 25 ноя 2016, 12:09
S.Alexander
Добрый день!
ОС 64-х разрядная. Сборка компилируется как anycpu.

Re: Exception при report.LoadDocument(string);

Добавлено: 25 ноя 2016, 16:35
HighAley
Здравствуйте.

Попробуйте, пожалуйста, скомпилировать сборку как 64x. Это может решить проблему.

Спасибо.

Re: Exception при report.LoadDocument(string);

Добавлено: 25 ноя 2016, 16:52
S.Alexander
Спасибо, попробовал, но не помогло. Доходит до report.LoadDocument(string), подвисает примерно сек на 20-25 и вылетает с тем же исключением.

Re: Exception при report.LoadDocument(string);

Добавлено: 28 ноя 2016, 12:33
Ivan
Здравствуйте.

Доработали метод загрузки mdc-файлов, теперь проблема не возникает.
Патч будет включён в следующий предрелизный билд.

Спасибо.

Re: Exception при report.LoadDocument(string);

Добавлено: 28 ноя 2016, 12:54
S.Alexander
Спасибо большое. Буду ждать.

Re: Exception при report.LoadDocument(string);

Добавлено: 28 ноя 2016, 21:48
Aleksey
Здравствуйте,

Дайте знать, если будут еще вопросы.

Спасибо.