PascalABC.NET и Windows 7

http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx

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

Есть еще один достаточно глупый вариант… Но вряд ли поможет, может даже испортить.

Удалить System.Drawing.dll из фреймворка(как файл, из файловой системы - найти и удалить) и запустить Repair Tool еще раз.

Правда, это может быть что-то на уровень повыше, и тогда эта мера бессмысленна.

А скажите, какой пакет Вы инсталлируете - полный (с .NET 4.0) или нет? И - из каталога с инсталляцией PascalABC.NET запустите консольные компиляторы pabcnetc.exe и pabcnetcclear.exe. Что происходит? Что выдаётся в консоль?

Надо сказать, что ситуация нештатная. У нас 32-битная windows 7 установлена в дисплейных классах в массовом количестве - и ничего такого не было. И - никто не присылал подобных сообщений. У нас статистика очень большая, так что если бы ситуация была массовая - уже давно бы прислали.

Как версия - что-то закрыто на запись на диске C, а оболочка не должным образом обрабатывает это исключение. Вот почему я прошу запустить консольный компилятор.

Исправлять .NET пока не следует - надо понять, какое исключение всё-таки выдаётся и запускается ли хотя бы какое-то .NET-приложение.

[quote=“Admin, post:8, topic:332”] запустите консольные компиляторы pabcnetc.exe и pabcnetcclear.exe. Что происходит? Что выдаётся в консоль? [/quote] pabcnetc.exe отрабатывает нормально, а вот pabcnetcclear.exe выдает, как мне кажется, что-то не то

[quote=“Admin, post:8, topic:332”] А скажите, какой пакет Вы инсталлируете - полный (с .NET 4.0) или нет? [/quote]сейчас стоит PascalABC.NET 1.2 StandardPack (Setup, 4 Mb), .NET версии 4.5.1 (скачал с сайта Microsoft). Но до этого я пробовал ставить и самую свежую версию без .NET и пакет вместе с .NET - результат был один и тот же - не работает.[quote=“Admin, post:8, topic:332”] Надо сказать, что ситуация нештатная [/quote]Согласен. Мой парень просто использует комп как игровую приставку, понаставил тут всяких игр, может какие из них что-то покривили. Однако мне, как Lead Software Engineer хочется разрешить проблему без переустановки системы, если это возможно.

[quote=“JediKnight, post:7, topic:332”] http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx Можно еще вот это попробовать. Правда, уже не уверен, что поможет [/quote]Попробовал. Почистил .NET, почистил PascalABC установил всё заново - проблема осталась.

[quote=“Admin, post:8, topic:332”] Как версия - что-то закрыто на запись на диске C, а оболочка не должным образом обрабатывает это исключение [/quote]Нет, ничего там на запись не закрыто. Но видимо да, не стартует оболочка… почему-то.

Тогда последняя идея. Не уверен, что идеологически хорошая идея, но, судя по всему, повторить сие поведение разработчики не могут…

http://www.red-gate.com/products/dotnet-development/reflector/ В Pro-версии есть дебаггер, можно попользоваться им и посмотреть, где падает. Триал 14 дней доступен. Сам не делал.

Взято отсюда: http://stackoverflow.com/questions/2284748/can-i-debug-a-compiled-assembly

Возможно проблема со шрифтами. Проверьте шрифты Tahoma и MS Sans Serif. Установите также SharpDeveloper http://www.icsharpcode.net/opensource/sd/ и запустите его. Если он тоже не будет работать, то проблема в Windows и GDI+

А скажите, у Вас какая-то древняя версия 1.2 - Вы ее откуда взяли? И раньше на этом компе PascalABC.NET работал?

По поводу pabcnetclear.exe - это странно что Вы пишете - это просто урезанная версия консольного компилятора без цветового оформления. Ошибка тоже не воспроизводится. Вы какую программу подаёте ей на вход?

Но мы в любом случае выяснили, что не стартует оболочка, а сама .NET работает. Это уже хорошо. Причем, не стартует сразу, поэтому можно предположить, что виноват не какой-то плагин, загружающийся после, а сама оболочка. Поскольку оболочка совершенно штатная и она работает на куче других компьютеров с Windows 7 32, то у меня есть версия, что что-то не так с данным компьютером. По ошибке вижу, что не отрабатывает System.Drawing.

Думаю, что лучше всего проверить эту версию, инсталлировав и запустив ещё какое-то оконное .NET-приложение. Действительно, поскольку мы использовали компоненты из SharpDevelop, то лучше запустить его. Проблема со шрифтами… ну да - может быть. Что-то не находится и поэтому не отрисовывается.

[quote=“ibond, post:13, topic:332”] Проверьте шрифты Tahoma и MS Sans Serif [/quote]Шрифты в наличии.[quote=“ibond, post:13, topic:332”] Установите также SharpDeveloper http://www.icsharpcode.net/opensource/sd/ и запустите его [/quote]Установил. Успешно запускается.

Судя по картинке, вы запускали его без указания компилируемого файла. Попробуйте всё-таки указать какой-то файл.

[quote=“Admin, post:14, topic:332”] А скажите, у Вас какая-то древняя версия 1.2 - Вы ее откуда взяли? И раньше на этом компе PascalABC.NET работал? [/quote]Взял с офф.сайта. Впрочем, сейчас уже версия 2.2 стоит[quote=“Admin, post:14, topic:332”] По поводу pabcnetclear.exe - это странно что Вы пишете - это просто урезанная версия консольного компилятора без цветового оформления. Ошибка тоже не воспроизводится. Вы какую программу подаёте ей на вход? [/quote]Да, это был странный глюк, теперь его нет. Я же переустановил и PascalABC и .NET. Теперь при запуске пишет: Command line is absent

[quote=“Ulysses, post:16, topic:332”] Судя по картинке, вы запускали его без указания компилируемого файла. Попробуйте всё-таки указать какой-то файл [/quote]Я переустановил PascalABC теперь пишет вроде как то, что должно быть: Command line is absent (при запуске с пустой строкой)

Наверное, последнее из лёгкой проверки - попробуйте переустановить на диск D и папку PABCWork.NET туда же установите.

[quote=“Admin, post:19, topic:332, full:true”] попробуйте переустановить на диск D и папку PABCWork.NET туда ж [/quote]Сделал, не помогло. Может какие службы надо проверить, чтобы были обязательно включены?

Вот тестовая версия.

Замените .exe файл и бросьте .pdb. Запустите Паскаль и приведите текст исключения, которое выводится в окошечке.

Результат

Проверьте шрифт Arial.

Вот это - 776 строчка в QuickClassBrowserPanel.cs

this.membersComboBox.Font = new System.Drawing.Font("Arial", 9F);

Что-то с Ариалом не так…

Так там же в сообщении исключения даже написано: "Шрифт Arial не поддерживает стиль Regular" Напрашивается очевидное решение: удалить Arial, а затем вновь установить

Совершенно верно. Каким-то образом, в шрифтах Arial отсутствовал файл с начертанием Regular. Скачал, добавил - Pascal ABC.NET успешно запустился.

Всем участвовавшим: большое спасибо за советы и участие. Разработчикам: наверное, стоит предусмотреть такую ситуацию на будущее.

1 симпатия