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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2015, 15:35   #11
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А заюзать событие TPicture.OnChange не прокатит ли?
Цитата:
TImage.AfterLoadFromFile();
Это в какой версии VCL есть такой метод TImage?
В хэлпе не нашёл.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 06.07.2015 в 15:39.
min@y™ вне форума Ответить с цитированием
Старый 06.07.2015, 15:48   #12
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Это же в потомке.
оп-па.. Спасибо большое, сейчас попробую.
ResourceSpace вне форума Ответить с цитированием
Старый 06.07.2015, 15:52   #13
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Это же в потомке.
Не надо называть тип потомка тем же именем, что и тип предка.
Этот путь неверный и ведёт через тернии к геморрою нижнего полушария головного мозга.
Цитата:
Спасибо большое, сейчас попробую.
Пробуй аккуратно, маленькими глоточками. И закусывай побольше.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 06.07.2015, 17:10   #14
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Я знаю, спасибо, сам натыкался сколько раз в чужом коде - неприятно. И ещё именами функций WinAPI тоже не надо. :D
Имел ввиду что вызывается метод потомка TImage, просто его имя тут не к чему.

Не пью.

гм.. Думаю ну вот повешу я TPicture.OnChange в TImage.Create() - а если его кто-то поменять решит внаглую?: TImage.Picture:=NewPicture;
Но в общем идею уловил, будем думать.
ResourceSpace вне форума Ответить с цитированием
Старый 06.07.2015, 18:14   #15
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Picture.OnChange используется в Image для своих внутренних целей. Так что не обломись в Image.OnCreate. Перед присвоением обработчика запомнить адрес процедуры в OnChange и не забыть в своей процедуре обратиться по нему. И все это будет говнокод чреватый последствиями
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.07.2015 в 18:17.
Аватар вне форума Ответить с цитированием
Старый 11.07.2015, 12:44   #16
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Как звучит оригинал задания?
Зачем тебе понадобился потомок TImage? Очень сильно пахнет xyz-ом.
Минай, прочитал ссылку с xyz, полностью согласен с автором блога

по поводу xyz. В большинстве случаев я понимаю что хочет новичок, даже в случае с автором темы, который всячески пытается не говорить о том, что пишет некий класс для чтения каких то (PNG, GIF и.т.п) файлов на базе существующего TImage
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 11.07.2015, 12:53   #17
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Аватар, спасибо, я в курсе. И нет, не будет - я умею с этим обращаться. Просто не знал об этом событии.

JUDAS, мне кажется я довольно конкретно пояснил что я делаю - расширение функционала TImage.
ResourceSpace вне форума Ответить с цитированием
Старый 11.07.2015, 13:24   #18
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
JUDAS, мне кажется я довольно конкретно пояснил что я делаю - расширение функционала TImage.
Какими новыми свойствами? Можете сформулировать их конечное назначение ?

TImage самодостаточен и не требует "расширения". он делает всё, для чего предназначен данный класс, в частности для чтения/обработки/записи растровых изображений формата BMP
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 11.07.2015, 14:06   #19
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Не только BMP, а всех зарегистрированных потомков TGraphic.

Все существующие классы делают всё для чего они предназначены, зачем тогда вообще наследование придумали?
TButton тоже самодостаточен. Зачем тогда от него породили TBitBtn?

Для описания и понимания задачи необходимо знать только то что я сказал: После вызова TImageEx.Picture.LoadFromFile(); должно автоматически вызываться TImageEx.AfterLoadFromFile();
А уж что там делается третий вопрос. Вариантов тыща - хоть тупо ShowMessage(Picture.Graphic.ClassNa me), хоть вывод в лог об изменении картинки, хоть инвертирование цветов битмапа, хоть дорисовка координатной сетки, хоть водяной знак - но к сути задачи это уже не относится.

Кстати тему можно закрывать, ещё раз спасибо min@y™ за информацию о существовании события.
ResourceSpace вне форума Ответить с цитированием
Старый 11.07.2015, 15:46   #20
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
ещё раз спасибо min@y™ за информацию о существовании события.
Чо, написал обработчик и он вызывается?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать, что страница с JS (AJAX)? Lindemann66 Qt и кроссплатформенное программирование С/С++ 1 27.10.2011 11:27
Как узнать, что Button нажата? shumsheec Общие вопросы Delphi 2 29.06.2011 12:35
как узнать цвет пикселя в TImage , если там не bmp а jpg Dima_Dima Общие вопросы Delphi 0 31.05.2010 14:12
Как узнать что в содержимое буфера обмена добавилось что либо? zotox Общие вопросы Delphi 2 15.09.2009 12:07
DLL!!!Как узнать что PUSH-ит!!! Kuznecov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 10.02.2009 22:04