существует ли семантически правильный способ обработки типов как значений или переменных
blockquote>Нет. Типы только во время компиляции. Представление типов в качестве значений, доступных во время выполнения, находится в прямом противоречии с целями дизайна языка, не являющимися целью № 5 в этом списке :
Добавить или полагаться на время выполнения вводить информацию в программах или выдавать другой код на основе результатов системы типов. Вместо этого поощряйте шаблоны программирования, которые не требуют метаданных времени выполнения.
blockquote>Единственным исключением являются классы, которые представлены во время выполнения точно так же, как они представлены во время выполнения es6 javascript: как функция конструктора.
Таким образом, вы можете вернуть класс из функции, но функция будет возвращать значение, которое нельзя использовать как тип. Единственное исключение (своего рода) заключается в том, что вы можете использовать выражение вызова функции вместо класса в качестве базового класса в
extends
.Кроме того, эта конструкция
InstanceType
сокращена компилятором до
AClass
, как можно увидеть во всплывающей подсказке дляT
в этого объявления типа , в котором говоритсяtype T = AClass
type T = InstanceType
;
Мы нашли ответ. Мы использовали программу под названием Wireshark (www.wireshark.org).
Мы закрыли каждое приложение, и просто выполнили wireshark и попытались открыть отчет в кристаллическом разработчике.
Затем найденный, что это пыталось получить доступ к сервису спулера принтера на поле, которое мы использовали, но недавно изменился на другое поле. Таким образом, просто перезапущенный сервис на старое поле, и все хорошо снова
Вы уверены, что все серверы, на которые ссылаются в отчете, все еще онлайн? Если Вы изменили соединения с базой данных на отчете, я видел, что Crystal хранит ссылку на старую, даже когда нет никаких активных использований. Если старый сервер в режиме офлайн, Crystal все еще пытается соединиться с ним при загрузке и будет зависать в течение долгого времени. У нас был отчет, который раньше загружался в секундах, начинают занимать минуты прямо после того, как старый тестовый сервер был выключен. Приводимый в действие это создает резервную копию, это загрузилось немедленно снова, даже при том, что все соединения с ним казались удаленными. Мы волновали общее восстановление отчета с нуля.
Я нашел это использованием Sysinternals TDIMon, это показало попытки подключения и тайм-ауты, прибывающие от Crystal.
В меню настройки страницы вы можете установить флажок Нет принтера, и задержка поиска принтера в сети больше не будет. Я часто считаю полезным начать отчет о принтере Microsoft XPS Document Writer или что-то подобное.
попробуйте этот «код C #»:
ReportDocument rpDoc = new ReportDocument()
rpDoc.Load(Server.MapPath(@"reportname.rpt"));
надеюсь, что это поможет
У меня были похожие проблемы при открытии отчета и дизайнера одновременно.
В то время у меня не было подключения к Интернету, и дизайнер пытался (безуспешно) загрузить Интернет содержание, включенное в "Стартовую страницу". В конце концов тайм-аут был превышен, и отчет загружен. Я снял флажок "Показывать онлайн-ресурсы".
У меня была такая же проблема с Crystal Reports 2008 (XII)! Я попытался остановить службу буферизации принтеров Windows, пока CR был заморожен, и мгновенно получил ответ freom CR (Принтер не ... бла-бла, по умолчанию ... мля)
После этого я снял флажок «Принтер» в настройках страницы (ответ выше). После этого у меня не было проблем с загрузкой этого отчета в CR Designer, а также C # ReportDocument.Load (string filePath) работал нормально ....