![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Grig |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
Здравствуйте!
Когда-то я должен был столкнутся с этой проблемой ... и вот.. Дело в том, что я хочу в одном файле создать управляющие процедуры, которые будут работать с компонентами на форме. Как мне в процедуре указать неявное компонента, чтобы потом я мог безнапряжно к ней обратится? Например, пишу:
На другой форме меняется почему-то название формы, а не лэйбла.. А при моих робких попытках написать нечто вроде:
previos declaration of 'sss' was not marked with the 'overload' directive Как быть?? (( -------------------- |
||||
|
|||||
<Spawn> |
|
||||||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Дело в том, что ты описал вторую процедуру с именем sss, благодаря чему и получил эту ошибку. Выход: написать одну процедуру, либо пометить обе из существующих директивой overload:
Работоспособность этого кода вообще не понятна. Ты указываешь локальную переменную lab и при этом ни как не связываешь ее с существующим экземпляром TLabel! Если и использовать процедурный подход, то ты должен передать в свою процедуру\функцию указатель на экземпляр класса, с которым хочешь вести работу, т.е.:
Это сообщение отредактировал(а) <Spawn> - 18.5.2005, 05:07 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||||||
|
|||||||||
Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
Тогда я вот не понимаю, как эту процедуру сделать глобальной:
Надо ж ее сначала описать в public, а затем описывать.. Или я что-то опять не понимаю ?? ![]() Внутри модуля она себя видит, и нормально вызывается, вот как бы пограмотней ее глобальной сделать? Я пытаюсь делать так:
ничего не получается.. Где тут собака порылась? p.s. Просьба ногами не пинать - я только перехожу на Дельфи ![]() -------------------- |
|||
|
||||
Alix |
|
|||
![]() L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
Когда описываешь sss в implementation название пиши так:
Т.к. это ф-я класса TForm1. (overload писать не надо. Ни здесь, ни в public секции... А советовали ее написать потому, что у тебя было описано 2 ф-ции с именем sss, потому ты и получал ошибку "previos declaration of 'sss' was not marked with the 'overload' directive") -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
Спасибо товарищи!!
Как все на самом деле просто.. -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |