Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2014, 11:01   #1
Zaura
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 13
Печаль Рисование на PaintBox в другом окне

Здравствуйте. у меня две формы: на Form1 - Button1, на другой PaintBox.
пишу событие на Button1, чтоб при нажатии рисунок рисовался на PaintBox в Form2.
Выдает ошибку. Подскажите пожалуйста

procedure TForm1.Button1Click(Sender:TObject) ;
begin
Form2.PaintBox1.Canvas.Ellipse(100, 100,200,200);
end;
Zaura вне форума Ответить с цитированием
Старый 23.04.2014, 14:13   #2
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Выдает ошибку
Текстом ошибки поделитесь?

Последний раз редактировалось XE5; 23.04.2014 в 14:20.
XE5 вне форума Ответить с цитированием
Старый 23.04.2014, 14:14   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

uses Unit2 присутствует?
Arigato вне форума Ответить с цитированием
Старый 23.04.2014, 14:54   #4
Zaura
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 13
По умолчанию

Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress ......'

да модули подключила

Последний раз редактировалось Stilet; 23.04.2014 в 21:31.
Zaura вне форума Ответить с цитированием
Старый 23.04.2014, 14:58   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

когда Вы нажимаете на кнопку в форме Form1 вторая форма (Form2), скорее всего, ещё не создана.
Нужно эту форму предварительно СОЗДАТЬ.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2014, 15:16   #6
Zaura
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 13
По умолчанию

я в этом деле новичок, не подскажите как предварительно создать??
Zaura вне форума Ответить с цитированием
Старый 23.04.2014, 15:22   #7
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Или в опциях проекта сделать её автосоздаваемой при запуске приложения, или Application.CreateForm
FaTaL вне форума Ответить с цитированием
Старый 23.04.2014, 15:29   #8
Zaura
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 13
По умолчанию

попробовала сделать через Application.CreateForm, не совсеи подходит мне. дело в том, что мне нужно, чтоб при нажатии на кнопку окрывалось второе окно уже с рисунком
Zaura вне форума Ответить с цитированием
Старый 23.04.2014, 15:38   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Так в любом случае не получится, надо открывать окно, а затем рисовать на нем. Даже если что-то и нарисовать на невидимом PaintBox, то он нигде картинку не сохраняет, то есть после визуализации там ничего не будет.
Arigato вне форума Ответить с цитированием
Старый 23.04.2014, 15:57   #10
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Код:
procedure TForm1.Button1Click(Sender:TObject) ;
begin
 Form2:=TForm2.Create(Self);
 Form2.PaintBox1.Canvas.Ellipse(100, 100,200,200);
 Form2.Show
end;
superedward вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка курсора в другом окне Angelochek* Win Api 18 03.11.2013 19:37
Рисование на окне игры (?) Johnson Win Api 3 20.08.2012 18:51
VS Basic. Рисование PaintBox werser Помощь студентам 2 17.01.2010 00:26
PaintBox. Рисование antikhrist Общие вопросы Delphi 24 24.06.2009 13:04
Рисование в диалоговом окне (Си++) molo4nik Помощь студентам 1 06.05.2008 18:27