![]() |
|
|
![]()
|
|
| Tiffany |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 23.12.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
В программе рисуется график во View'шке.. Требуется реализовать печать этого графика.
Кое-как вроде получилось, осталось доработать пересчет координат, печатает в целом нормально, НО есть две проблемы: 1) если производилась печать, то позже прога вылетает (при нормальном выходе из приложения) 2) если один раз распечатали, и пытаемся это повторить - тоже эррор =( Места ошибок обозначила в коде:
в winutil.cpp
Помогите, кто чем может.... |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Что показывает отладчик в первом и втором случаях?
В первом коде, похоже, что-то не так с dm... Кроме того, в структуре PRINTDLG нужно обязательно заполнить первое поле, перед тем как куда-то передавать: a_PD.dwSize = sizeof (a_PD); Второй вылет - скорее всего результат первого; видимо, срабатывает ASSERT. -------------------- ... |
|||
|
||||
| Tiffany |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 23.12.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Earnest, про отладчик не поняла..
Поправлю: вместо a_PD.dwSize следует писать a_PD.lpStructSize Ну да, дело в dm и в Ассерте - это понятно.. При повторной печати у dm оказывается "bad ptr", то есть вроде как он теряется, хотя, по идее, там все заново должно создаваться. Интересный момент, что если вместо
написать
, то печатает сколько угодно раз, но с параметрами "по умолчанию"(у меня было вертикальное расположение листа вместо желаемого горизонтального).. Ошибка при выходе из программы сохраняется. В MSDN что-то написано про то, как работать с DEVMODE и с блоками памяти, только все никак не могу понять, что там куда установить правильно, может кто сталкивался?... |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |