| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Передача компонента в процедуру |
| Автор: Grig 18.5.2005, 04:40 | ||||
| Здравствуйте! Когда-то я должен был столкнутся с этой проблемой ... и вот.. Дело в том, что я хочу в одном файле создать управляющие процедуры, которые будут работать с компонентами на форме. Как мне в процедуре указать неявное компонента, чтобы потом я мог безнапряжно к ней обратится? Например, пишу:
На другой форме меняется почему-то название формы, а не лэйбла.. А при моих робких попытках написать нечто вроде:
previos declaration of 'sss' was not marked with the 'overload' directive Как быть?? (( |
| Автор: <Spawn> 18.5.2005, 05:05 | ||||||||
Дело в том, что ты описал вторую процедуру с именем sss, благодаря чему и получил эту ошибку. Выход: написать одну процедуру, либо пометить обе из существующих директивой overload:
Работоспособность этого кода вообще не понятна. Ты указываешь локальную переменную lab и при этом ни как не связываешь ее с существующим экземпляром TLabel! Если и использовать процедурный подход, то ты должен передать в свою процедуру\функцию указатель на экземпляр класса, с которым хочешь вести работу, т.е.:
|
| Автор: Grig 18.5.2005, 06:18 | ||
| Тогда я вот не понимаю, как эту процедуру сделать глобальной: Надо ж ее сначала описать в public, а затем описывать.. Или я что-то опять не понимаю ?? Внутри модуля она себя видит, и нормально вызывается, вот как бы пограмотней ее глобальной сделать? Я пытаюсь делать так:
ничего не получается.. Где тут собака порылась? p.s. Просьба ногами не пинать - я только перехожу на Дельфи |
| Автор: Alix 18.5.2005, 06:28 | ||
Когда описываешь sss в implementation название пиши так:
Т.к. это ф-я класса TForm1. (overload писать не надо. Ни здесь, ни в public секции... А советовали ее написать потому, что у тебя было описано 2 ф-ции с именем sss, потому ты и получал ошибку "previos declaration of 'sss' was not marked with the 'overload' directive") |
| Автор: Grig 18.5.2005, 06:45 |
| Спасибо товарищи!! Как все на самом деле просто.. |