Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-15424
D
2003-01-21 14:20
2003.02.06
ошибка при отобр-и данных с LookupField


3-15441
tanuha
2003-01-17 16:05
2003.02.06
Помогите составить SQL запрос


1-15749
alex_bredin
2003-01-27 10:47
2003.02.06
доступ к динамич. созд. компонентам


3-15423
herosofnn
2003-01-22 08:49
2003.02.06
вычисляемое поле


6-15801
Troll
2002-12-15 18:16
2003.02.06
Как скачать файл с определенного места?