гайка
Гость
|
|
« : 07-06-2012 13:02 » |
|
таки курсач по ООП кто найдет багу, тот молодец! P.S.: Инсталятор, уж простите, убогонький. P.P.S.: Приложение под винду.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #1 : 07-06-2012 13:31 » |
|
Эм... А не боишься, что студенты скоммуниздят? Надеюсь, там в About прописаны твои ФИО и прочая идентификация.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
гайка
Гость
|
|
« Ответ #2 : 07-06-2012 13:33 » |
|
Боюсь. поэтому исходного кода там нету если вдруг кому нужен код - я в личку могу его кинуть
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #3 : 07-06-2012 13:47 » |
|
Долго искал хоть что-нибудь после инсталляции. В главном меню не нашел, в Program Files\... не нашел. Потом оказалось, что инсталлятор любезно присобачил мне файлы в корень диска E:. OS Windows 7 Pro 32 SP 1. Добавлено через 2 минуты и 43 секунды:таки курсач по ООП кто найдет багу, тот молодец! Я уже молодец: Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового окна содержится в конце этого сообщения.
************** Текст исключения ************** System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Tetris.Painter.DrawFigure(Graphics g, Figure figure, Size cellSize) в Tetris.Form1.panel2_Paint(Object sender, PaintEventArgs e) в System.Windows.Forms.Control.OnPaint(PaintEventArgs e) в System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) в System.Windows.Forms.Control.WmPaint(Message& m) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.ScrollableControl.WndProc(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Загруженные сборки ************** mscorlib Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------------------------- Tetris Версия сборки: 1.0.0.0 Версия Win32: 1.0.0.0 CodeBase: file:///E:/Tetris.exe ---------------------------------------- System.Windows.Forms Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Configuration Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100) CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Xml Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- mscorlib.resources Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100) CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll ---------------------------------------- System.Windows.Forms.resources Версия сборки: 4.0.0.0 Версия Win32: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll ----------------------------------------
************** Оперативная отладка (JIT) ************** Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой.
Например:
<configuration> <system.windows.forms jitDebugging="true" /> </configuration>
При включенной отладке JIT любое необрабатываемое исключение пересылается отладчику JIT, зарегистрированному на данном компьютере, вместо того чтобы обрабатываться данным диалоговым окном.
|
|
« Последнее редактирование: 07-06-2012 13:50 от Dale »
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
гайка
Гость
|
|
« Ответ #4 : 07-06-2012 13:52 » |
|
там вообще-то на рабочем столе ярлык появляется после установки, да и в самом начале вроде бы спрашивается желаемый путь установки, разве нет? я извиняюсь, не умею я инсталяторы делать...
Добавлено через 3 минуты и 39 секунд: расскажи, что это за отладчик такой?
|
|
« Последнее редактирование: 07-06-2012 13:56 от гайка »
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #5 : 07-06-2012 14:50 » |
|
Внешне выглядит достойно. Внутрь, наверно, лучше не смотреть
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
v2
Помогающий
Offline
|
|
« Ответ #6 : 07-06-2012 14:55 » |
|
Вариант инсталлятора "только для меня" требует админ прав, что не хорошо. > там вообще-то на рабочем столе ярлык появляется после установки не знаю, кто в ЬЫ придумал такие ярлыки, но я их очень не уважаю. (возможно для создания этого ярлычка админа и попросило?, так как путь установки был доступен юзверю) “Бизнес логика” – логична и симпатична
|
|
|
Записан
|
|
|
|
гайка
Гость
|
|
« Ответ #7 : 07-06-2012 15:02 » |
|
Dimka, ну вот неужели ты обо мне такого нехорошего мнения? Да я на этот проект потратила лучшие 4 дня своей жизни!
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #8 : 07-06-2012 16:01 » |
|
Гайка, у меня предвзятое мнение о способностях студентов осваивать ООП Лишь 1 из 100 студентов меня приятно удивляет. Причём достойный внешний вид программы слабо коррелирует с достойным design решения внутри программы. И всё потому, что тетрис прекрасно пишется и без ООП, следовательно, факт работы программы не свидетельствует о знании предмета.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Dale
|
|
« Ответ #9 : 08-06-2012 05:16 » |
|
там вообще-то на рабочем столе ярлык появляется после установки Да, я его нашел в итоге. Но вообще ярлыки - не комильфо, их можно использовать в качестве вспомогательного средства запуска программ, но не основного (и уж тем более не единственно возможного). Очистил рабочий стол - и никаких следов приложения не осталось. да и в самом начале вроде бы спрашивается желаемый путь установки, разве нет? Верно, спрашивается, но чисто риторически, скорее из вежливости, чем для дела. Вроде вопроса-приветствия "как дела?", на который не ожидается содержательного ответа. Путь установки предложили совершенно приемлемый, в папке Program Files; только вот после инсталляции ничего там не оказалось. В результате пришлось запустить поиск tetris.exe, каковой был найден в корне диска E: я извиняюсь, не умею я инсталяторы делать... Это не бином Ньютона, дело наживное. В MSDN полно информации на эту тему. расскажи, что это за отладчик такой? Штатный системный отладчик, который можно подключить практически к любому процессу. Вот только реальная польза от него лишь в случае, если приложение скомпоновано с отладочной информации. Впрочем, в сообщении об этом явно сказано: ************** Оперативная отладка (JIT) ************** Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
resource
Молодой специалист
Offline
Пол:
|
|
« Ответ #10 : 08-06-2012 08:04 » |
|
Боюсь. поэтому исходного кода там нету Это ты зря так думаешь. IL-код нормально декомпилится. Сорец получается один к одному
|
|
|
Записан
|
|
|
|
гайка
Гость
|
|
« Ответ #11 : 08-06-2012 08:29 » |
|
Это ты зря так думаешь. IL-код нормально декомпилится. Сорец получается один к одному тот, кто сможет с этим справиться, вероятно сможет и самостоятельно написать программу. Я просто не хочу, чтоб моей работой пользовались халявщики, которые просто берут код, печатают и сдают преподавателю. Добавлено через 4 минуты и 10 секунд:Это не бином Ньютона, дело наживное. В MSDN полно информации на эту тему.
да, согласна. я почитала там кое-что, но объем информации довольно большой, а мне нужно было быстренько сделать так, чтобы экзешник мог запускаться без проекта vs, вот я и сделала некий набросок инсталятора, который если надо устанавливает нет фреймворк 4 и... да и всё, в общем-то
|
|
« Последнее редактирование: 08-06-2012 08:33 от гайка »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #12 : 08-06-2012 10:30 » |
|
В таком случае лично я бы предпочел обойтись вовсе без инсталлятора, просто скопировал бы файлы вручную. По крайней мере, точно знал бы, где они находятся. Тем более что в реестр вроде как изменения все равно не вносились (по крайней мере, я на это очень надеюсь; хотя после сюрприза с E: я уже не столь уверен).
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
гайка
Гость
|
|
« Ответ #13 : 08-06-2012 10:40 » |
|
я тоже надеюсь ладно, есть желающие поругать меня и покритиковать мою безалаберность в написании кода? конечно, переделывать то, что работает, я уже вряд ли буду, но вот услышать конструктивную критику хотелось бы. перефразируя знаменитую фразу, "нам критика строить и жить помогает"
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #14 : 08-06-2012 11:07 » |
|
Гайка, есть простой, удобный , функциональный инсталлятор InnoSetup. Раньше он был freeware, не знаю как сейчас. На его освоение достаточно максимум час времени.
|
|
|
Записан
|
|
|
|
гайка
Гость
|
|
« Ответ #15 : 08-06-2012 11:17 » |
|
zubr, спасибо, это то что надо
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #16 : 08-06-2012 21:57 » |
|
есть желающие поругать меня и покритиковать мою безалаберность в написании кода? С какой целью? Чему-то научиться? В таком случае осмелюсь предложить совет человека, который в свою бытность студентом открыл его для себя эмпирически, а затем неоднократно убеждался в его действенности на практике. Не следует выставлять код на всеобщее обсуждение - получите в ответ столько взаимоисключающих мнений, что усомнитесь даже в том, что доселе казалось незыблемым. Как известно, в поле каждый суслик - агроном. Аналогично каждый эникейщик мнит себя как минимум Дейкстрой в сочетании с Песталоцци в одном лице. Куда конструктивнее выбрать себе авторитет и следовать его советам. Если жизнь покажет, что авторитет оказался дутым, - что ж, и так бывает; тогда его следует заменить более подходящим. Но на референдумах подобные вопросы не решаются в любом случае. Разумеется, это всего лишь мое IMHO, хоть и неоднократно проверенное на практике. Решать все равно вам.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #17 : 09-06-2012 03:56 » |
|
Поддерживаю. Критиковать код должен только руководитель: на обучении, на производстве или в голове. Но с нами можно обсуждать алгоритмы и решения.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
гайка
Гость
|
|
« Ответ #18 : 09-06-2012 09:42 » |
|
Да как скажете я и так убедилась в том, что код не так уж страшен, т.к. за пол часа смогла расширить свой тетрис до пентатриса (все фигурки по 5 клеточек), с соответствующим увеличением поля => проект достаточно гибкий, а это для меня один из самых важных параметров. И да, после этого я себя почувствовала Наполеоном Бонапартом
|
|
« Последнее редактирование: 09-06-2012 10:22 от Гайка »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #19 : 09-06-2012 10:02 » |
|
Таксс , пожайлуста не устраивай блицкрик на Россию. Одного Ватерлоо достаточно.
|
|
« Последнее редактирование: 09-06-2012 10:07 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|