Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Form.Print   Найти похожие ветки 

 
don-do   (2003-01-27 08:10) [0]

В справке Form.Print описан как виртуальный метод, на самом же деле статический, нужно переопределить, кто подскажет как это сделать без большой крови.


 
Юрий Зотов   (2003-01-27 09:04) [1]

Статические методы тоже можно переопределять, и в них тоже можно вызывать inherited. Только надо иметь в виду, что если метод Print будет вызван Вами, из кода Вашей формы - то это будет вызов Вашего Print. Если же он будет вызван из кода VCL - то это будет вызов старого Print, из TCustomForm.

Я сделал поиск по исходникам VCL и нигде не нашел внутренних вызовов TCustomForm.Print. Поэтому, думаю, можете смело замещать. Все вызовы будут Вашими - то есть, будет вызываться именно Ваш Print.


 
don-do   (2003-01-27 09:17) [2]

Спасибо!
Но мне хочется чтобы заработал код
Screen.Forms[1].Print;


 
Casee   (2003-01-27 10:09) [3]

Тогда нужно написать
TPrintForm(Screen.Forms[1]).Print;


 
Anatoly Podgoretsky   (2003-01-27 10:21) [4]

don-do (27.01.03 09:17)
Так не заработает, надо приведение к твоему классу.


 
Dmitry Filippov   (2003-01-27 10:47) [5]

Я бымший don-do
Спасибо! именно так я и делал,
но все же есть ли возможность переопределить статические методы?
У DreamControls есть пример, но их подход переопределяет методы класса, не хочется хакать весь класс.


 
don-do   (2003-01-27 10:48) [6]




 
Юрий Зотов   (2003-01-27 12:35) [7]

Его не надо хакать, надо просто привести тип формы к Вашему. Для статических методов это обычная практика. А полностью переопределить статический метод - как? Никак. Он же напрямую вызывается, а не косвенно, как виртуальные/динамические.


 
REA   (2003-01-27 13:05) [8]

Да там и процедурка то простенькая - можно выдрать и переписать.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
1-15749
alex_bredin
2003-01-27 10:47
2003.02.06
доступ к динамич. созд. компонентам


3-15520
Ihtiandr
2003-01-21 12:08
2003.02.06
UpdateSQL


3-15486
SeRZh
2003-01-20 18:18
2003.02.06
Новичок


9-15384
Alexeyk
2002-08-23 08:03
2003.02.06
Создание видеоэффектов в Дельфи


3-15512
sveloga
2003-01-21 12:01
2003.02.06
Как создать/удалить таблицу в базе IB из приложения ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский