Главная страница
    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.45 MB
Время: 0.011 c
3-15531
Дима2003
2003-01-21 15:55
2003.02.06
Подскажите что за формат TPS


1-15597
MikeFW
2003-01-29 09:57
2003.02.06
Срочно нужны библиотеки RxMenus.dcu, RxShell.dcu и AppEvent.dcu


7-15972
stecoff
2002-11-14 15:42
2003.02.06
Pабота с arj


3-15467
ProjectR
2003-01-20 13:07
2003.02.06
ADO


6-15814
Troll
2002-12-09 19:30
2003.02.06
можно ли проверить....





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский