КСИ Crystal Reports зависает при открытии отчета

существует ли семантически правильный способ обработки типов как значений или переменных

blockquote>

Нет. Типы только во время компиляции. Представление типов в качестве значений, доступных во время выполнения, находится в прямом противоречии с целями дизайна языка, не являющимися целью № 5 в этом списке :

Добавить или полагаться на время выполнения вводить информацию в программах или выдавать другой код на основе результатов системы типов. Вместо этого поощряйте шаблоны программирования, которые не требуют метаданных времени выполнения.

blockquote>

Единственным исключением являются классы, которые представлены во время выполнения точно так же, как они представлены во время выполнения es6 javascript: как функция конструктора.

Таким образом, вы можете вернуть класс из функции, но функция будет возвращать значение, которое нельзя использовать как тип. Единственное исключение (своего рода) заключается в том, что вы можете использовать выражение вызова функции вместо класса в качестве базового класса в extends.

Кроме того, эта конструкция

InstanceType

сокращена компилятором до AClass, как можно увидеть во всплывающей подсказке для T в этого объявления типа , в котором говорится type T = AClass

type T = InstanceType;
5
задан Tim Sylvester 16 July 2009 в 22:48
поделиться

6 ответов

Мы нашли ответ. Мы использовали программу под названием Wireshark (www.wireshark.org).

Мы закрыли каждое приложение, и просто выполнили wireshark и попытались открыть отчет в кристаллическом разработчике.

Затем найденный, что это пыталось получить доступ к сервису спулера принтера на поле, которое мы использовали, но недавно изменился на другое поле. Таким образом, просто перезапущенный сервис на старое поле, и все хорошо снова

5
ответ дан 18 December 2019 в 10:50
поделиться

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

Я нашел это использованием Sysinternals TDIMon, это показало попытки подключения и тайм-ауты, прибывающие от Crystal.

2
ответ дан 18 December 2019 в 10:50
поделиться

В меню настройки страницы вы можете установить флажок Нет принтера, и задержка поиска принтера в сети больше не будет. Я часто считаю полезным начать отчет о принтере Microsoft XPS Document Writer или что-то подобное.

7
ответ дан 18 December 2019 в 10:50
поделиться

попробуйте этот «код C #»:

ReportDocument rpDoc = new ReportDocument()
rpDoc.Load(Server.MapPath(@"reportname.rpt"));

надеюсь, что это поможет

0
ответ дан 18 December 2019 в 10:50
поделиться

У меня были похожие проблемы при открытии отчета и дизайнера одновременно.

В то время у меня не было подключения к Интернету, и дизайнер пытался (безуспешно) загрузить Интернет содержание, включенное в "Стартовую страницу". В конце концов тайм-аут был превышен, и отчет загружен. Я снял флажок "Показывать онлайн-ресурсы".

1
ответ дан 18 December 2019 в 10:50
поделиться

У меня была такая же проблема с Crystal Reports 2008 (XII)! Я попытался остановить службу буферизации принтеров Windows, пока CR был заморожен, и мгновенно получил ответ freom CR (Принтер не ... бла-бла, по умолчанию ... мля)

После этого я снял флажок «Принтер» в настройках страницы (ответ выше). После этого у меня не было проблем с загрузкой этого отчета в CR Designer, а также C # ReportDocument.Load (string filePath) работал нормально ....

0
ответ дан 18 December 2019 в 10:50
поделиться