|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
||||||
Проблема с CommonDialog. - при нажатии "Отмена" программа вылетает19.07.2006, 13:31. Показов 2415. Ответов 10
Метки нет (Все метки)
Вообщем я ради тренировки моих скромных способностей решил написать простеёший текстовый редактор, и вот в процессе тестирования у меня возникла проблемка : если в окне редактора чё-нить написать и попробовать его закрыть (предворительно НЕ сохраняя) то он спрашивает "Текст изменён. Сохранить изменения?" Если нажать "Да", то в этом случае откроется окно "Сохранить как..." и если нажать "Отмена", то тогда появляется какая-то ошибка и редактор вылетает. Помогите пожалуйста! Вот весь его код:
CommonDialog1.ShowOpen CommonDialog1.ShowSave CommonDialog1.FileName и чего все они значат(выполняют) плиззз!
0
|
||||||
| 19.07.2006, 13:31 | |
|
Ответы с готовыми решениями:
10
CommonDialog ругается при нажатии кнопки "Отмена"
Поиск bluetooth-устройств, программа вылетает при повторном нажатии на кнопку |
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 19.07.2006, 14:03 | |
|
Никто Ваш кривой код разбирать не будет.
Объясните, какой смысл по несколько раз повторять один и тот же код с сохранением? Неужели нельзя его вынести в отдельную процедуру? Кроме того, проверять в Terminate нет никакой необходимости. > то тогда появляется какая-то ошибка и редактор вылетает. И как это должны понимать? Глупость какая. Что значит "какая-то ошибка"? Расставляйте точки останова, смотрите, где и какая возникает ошибка.
0
|
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 19.07.2006, 19:50 | |
|
Soglasen s Alexey Spirin
Kod, emmm, chudovischen... Sorry. Oshibka po-vidimomu iz-za togo, chto CommonDialog1.CancelError u vas True. Esli tak, to postav'te ee obrabotku ili sdelajte False. Sobitie Change - ne nuzhno, po krajnej mere v takom vide. Sobitie Terminate - v topku, tak sejchas kazhetsya modno virazhat'sya. Peremennaya "r" dolzhna imet' ne tip Integer, a VbMsgBoxResult. Stroka "If fChanged = True Then" tavtalogichna: fChanged uzhe ili TRUE ili FALSE, a raz tak, to nado pisat' "If fChanged Then" Povtoryauschijsya kod nado spryatat' v obschij blok. Spisok mozhno prodolzhat'....
0
|
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 19.07.2006, 19:57 | |
|
Da, i procedura DOLZHNA imet' odnu i tol'ko odnu tochku vixoda, a u vas schedro razbrosani "Exit Sub". A ee razmer NE DOLZHEN previshat' visotu ekrana. Za takoe kodirovanie polozheno lishenie vsex prav i sostoyaniya.
Za vneshnej besceremonnost'yu texta skrivayutsya poleznie nameki, tak chto derzajte.
0
|
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
||||||
| 19.07.2006, 21:04 | ||||||
|
I chto eto znachit?
I deklarirujte peremennie v odnom kakom-to meste: v nachale proceduri. Esli oni na urovne modulya, to ispol'zujte Private, a ne Dim. Chtobi tochno videt' namereniya. VladConn
0
|
||||||
|
1 / 1 / 1
Регистрация: 02.04.2009
Сообщений: 135
|
|
| 19.07.2006, 22:00 | |
|
Ребят, вместо всего этого бессмысленного трепа, которым Вы наградили автора, лучше бы подсказали бы ему конструкцию On Error Goto <метка> для обработки этого случая. (Подробнее читайте MSDN)
Ну прям как дети малые. Удачи.
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
|
| 20.07.2006, 01:23 [ТС] | |
|
Спасибо
Я программирую на Бейсике всего 1.5 месяца (причём параллельно я ещё поступал в колледж
0
|
|
|
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
|
||
| 20.07.2006, 02:50 | ||
0
|
||
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 20.07.2006, 08:02 | |
|
Мазур,
Для начинающего VB программиста ваша программа на самом деле очень большой успех. Ну и пусть криво, лиха беда начало. Полировать потом подучитесь. narand, Сие правило называется хороший стиль кодирования, выстраданный поколениями людей, занимающихся поддержкой программных продуктов, чужих и своих. Это распространенный стандарт, считающийся обязательным в IT отделах, не желающих разоряться на поддержке плохо читаемого кода. Единственное известное мне исключение из этого правила - поддержка ошибок.Таких правил много, хороших и разных. Каждое из них кажется не очень важным, но когда им всем следуют, то эффект оглушителен. Можно написать Войну и Мир, а можно и дрянь какую-то, и то и то повествование будет. Надеюсь, для начинающего Мазура это дельный совет. VladConn
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 20.07.2006, 13:55 | |
|
2Мазур: Не поймите неправильно. Конечно, для начинающего - и то не плохо. Но в любой книжке по VB говориться об отладке и отлове ошибок. Почитайте внимательнее. Ошибки сами по себе из воздуха не берутся. Кроме того, в наших ответах есть намеки на то, в какие стороны рыть. Каков вопрос - таков и ответ. Про "появление какой-то там ошибки" я уже писал.</P></DIV>
0
|
|
|
Irokez
|
|
| 22.07.2006, 02:04 | |
|
Уважаемый Мазур.
По поводу категоричности и разкости Спирина можно долго спорить, но поверте на слово, до недавнего времени в форуме было очень много флуда, трепа и тупости. И элементарные однотипные вопросы попадались очень уж часто. В последнее время их как-то поуменьшилось. Думаю, что в этом есть и заслуга Алексея. По поводу вашего вопроса: все кто высказался правы на все 100, и обижатся на них не стоит. Я в вас узнал себя в молодости (хотя я и сейчас еще не очень старик ;-) ) Дерзайте. Если вам нравится програмирование, то это может стать увлечением всей жизни, а то и профессией. Тут уж как повезет. Многим из нас повезло )) Хочу вас предостеречь от одной неприятности. Иногда (когда ты уже думаешь, что что-то умеешь) начинает казатся, что написать нужную програмку будет проще чем искать готовую. И садишся, и делаешь. Но! И в этом вся проблема. Работа эта, обычно, никому не нужна и никогда не будет завершена. Вы только впустую потеряете время. Так вот к чему я веду. Пишите программы, которые вам (а лучше кому-то) действительно нужны, и их еще никто не писал до вас. Даже если программа будет написана в таком "стиле" как у вас сейчас, но будет полезной - это будет лучше чем написанная по всем правилам тысячная замена блокноту. Если у вас в арсенале будет программа нужная, вы сможете отточить код позже, когда у вас появится больше опыта, но она будет. И вы сможете ее кому-то показать. Удачи! И не отчаивайтесь. |
|
| 22.07.2006, 02:04 | |
|
Помогаю со студенческими работами здесь
11
Ошибка при закрытии OpenDialog без выбора файла и при нажатии кнопки Отмена Отмена перехода по ячейкам при нажатии на enter
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|