Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 057
от 14.08.2002, 18:10

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 155
Отправлено ответов: 322
Активность: 207.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


От Администратора



Открыт Форум-чат на RusFAQ.ru. Приглашаю принять участие в обсуждении любых тем (компьютеры, законодательство, политика, спорт, отдых и пр.). По всем вопросам пишите администратору по адресу admin@rusfaq.ru.

Удачи!


Коробов Н.А. (nickbox@pisem.net)


 Список экспертов, ответы которых опубликованы в данном выпуске

Pablo
Статус: Опытный
Общий рейтинг: 128.21
URL: Моя страничка
[Подробней >>]
E$h@
Статус: Доверительный
Общий рейтинг: 166.66
[Подробней >>]
Zloy
Статус: Опытный
Общий рейтинг: 106.94
URL: The полный отстой
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 148. Здравствуйте! Вопрос по обработке ошибок. Функции GetLastError & SetLastError. Например, при открыти... (ответов: 2)
Вопрос № 149. Здравствуйте эксперты! У меня не получается перерисовать окно с помощью UpdateWindow. Функция GetLas... (ответов: 2)

Вопросов: 2, ответов: 4


 Вопрос № 148

Здравствуйте!
Вопрос по обработке ошибок. Функции GetLastError & SetLastError. Например, при открытии файла из функции f1 вызывается функция обеспечения диалога с пользователем f2, она вызывает функцию f3 для открытия файла, которая, в свою очередь вызывает системную функцию f4 для открытия файла. Например, на одном из уровней возникла ошибка. Где будет правильно ее обработать? У меня были варианты:
1) Все обрабатывается в f1 (переход с помощью returnов)
2) Обработка только собственных ошибок (например, в f3 обрабатываются ошибки f4, в f2 -- f3).
Я это делаю первый раз, раньше ничего серьёзного не писал. Подскажите, КАК это лучше сделать



Вопрос отправлен: 11.08.2002, 15:48
Отправитель: GoldenVst (goldenvst@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Pablo

Приветствую Вас, GoldenVst!
А ты сделай как в ВинАпи обрабюоку ошибок, т.е. если у тя произожла ошибка. то вызвай функцию SetLastError и устанадливай через нее свой код ощибки, а из функции, в которой она произошла, возвращай нулевое значение. Ну а проверку осуществляй на выходное значение, типа если равно нулю то ошибка.

Ответ отправлен: 12.08.2002, 12:20
Отправитель: Pablo


Отвечает E$h@

Добрый день, GoldenVst!
Лучше всего для обработки ошибок подойдёт
__try {...}
__finally{...}
/* RTFM под Винды*/
так говорят в Microsoft
А если по-твоему, то наверно нужно проверять на ошибки
вызов каждой функции. Если ошиблась f1, то ERROR_1, затем ERROR_2 и т.д. каждая ф-ция содержит ошибку... хотя возможно что настоящяя ошибка только в одной из них, а в остальные ты передаёш неправельные аргументы (к примеру).



Ответ отправлен: 13.08.2002, 16:04
Отправитель: E$h@


 Вопрос № 149

Здравствуйте эксперты!
У меня не получается перерисовать окно с помощью UpdateWindow. Функция GetLastError возвращает 87, т.е. "Параметр задан неверно.". Но я точно знаю, что параметр задан верно. Мне нужно перерисовать окно при изменении его стиля. Так, как сделано в Блокноте -- Правка - Перенос по словам.
Спасибо


Приложение:


Вопрос отправлен: 11.08.2002, 18:01
Отправитель: Golden Vst (goldenvst@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Pablo

Приветствую тебя, Golden Vst!
Ну у меня вроде вре нормально с обычным окном да и листбоксом, правда никаких изменений не происходит, но и никакой ошибки.

Ответ отправлен: 12.08.2002, 12:20
Отправитель: Pablo


Отвечает Zloy

Приветствую Вас, Golden Vst!
Тут ошибки быть не может! она возникает где-то в другом месте, т.к. за перерисовку EditControla отвечает сам мастадй (вернее библиотека common controlov)


Ответ отправлен: 13.08.2002, 17:45
Отправитель: Zloy



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (40)
C / C++ (28)
Perl (14)
Delphi (18)
Pascal (30)
Basic / VBA (11)
Java / JavaScript (12)
PHP (11)
MySQL / MSSQL (11)
Пользователю
Windows 95/98/Me (50)
Windows NT/2000/XP (34)
"Железо" (40)
Поиск информации (18)
Администратору
Windows NT/2000/XP (20)
Linux / Unix (13)
Юристу
Гражданское право (7)
Семейное право (5)
Трудовое право (6)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное