| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблема с FindComponent |
| Автор: student43 26.6.2006, 16:21 | ||
Вот такой вопрос у меня имею функцию но она немного не работает, программа не распознаёт функцию FindComponent в теле функции а если FindComponent выполняеться в программе то всё работает без проблем! Как сделать чтобы FindComponent работало в функции ?
|
| Автор: Romikgy 26.6.2006, 16:29 |
что за переменая? |
| Автор: student43 26.6.2006, 16:32 |
| Ошибся там вместо s идёт a. Я бегло писал ) |
| Автор: Alexeis 26.6.2006, 16:44 |
Функция Chr принимает аргумент типа byte, а не string Добавлено @ 16:46 Вообще чесно говоря я так и не понял зачем она вообще здесь нужна |
| Автор: Romikgy 26.6.2006, 16:48 |
| И что ты в нем передаешь ? один символ? тогда зачем ? или несколько символов? тогда непонятно |
| Автор: skyboy 26.6.2006, 17:09 |
| student43, findcomponent - это метод. Метод, вроде бы, класса TwindowControl или что-то типа. Т.е. у класса Tform этот метод есть, у Tpanel - есть. А просто так, у "ничего", этого метода нет. Так что передавай в свою функцию параметром контейнер... |
| Автор: skyboy 26.6.2006, 17:18 | ||
пример:
з.ы. Метод findcomponent - это метод класса TComponent. |
| Автор: Alexeis 26.6.2006, 17:38 |
| skyboy, в данном случае это метод формы Form1.findcomponent(...) В методах Form1 опускают и подразумевают Self который в конечном итоге и будет form1 |
| Автор: student43 26.6.2006, 17:56 | ||||
не сильно знаком с синтаксисом процедур в Делфи книжки щас нету так что дурацкий вопрос задам, вот сделал описание процедуры тут вроде всё правильно
Но ошибка выскакивает при обращении что писать во входные параметры ? Вот так у меня!
А вот мессага! [Error] Unit1.pas(230): Not enough actual parameters |
| Автор: Poseidon 26.6.2006, 17:58 | ||
| Один топик, один вопрос! Думаю в твоем случае подойдет
|
| Автор: Alexeis 26.6.2006, 18:03 |
Обработчик сообщения имеет СТРОГО ОПРЕДЕЛЕННЫЙ ФИКСИРОВАННЫЙ НАБОР ПАРАМЕТРОВ |
| Автор: skyboy 26.6.2006, 18:16 | ||||||||
шутник. зачем ты объединяешь обработчик и свою функцию? Если не хошь искать в пределах обработчика процедуры, то выдели поиск компонента в отдельную функцию например так:
и вызывай так:
Твоя неправда
в качестве self'a будет не объект с именем Form1, а любой объект класса TForm1, назвать которого ты вправе как угодно. Хоть BillGates |
| Автор: Alexeis 27.6.2006, 13:29 | ||||
skyboy, Строго говоря, конечно,
Что касается
|
| Автор: skyboy 27.6.2006, 15:58 |
| alexeis1, да, касательно не-виртуальных методов я как-то запамятовал |
| Автор: Alexeis 27.6.2006, 17:10 | ||
Правельно не верится ведь код метода и вправду хранится в одном экземпляре общем для всех объектов данного класса. У каждого объекта имеется только адрес его метода, а не сам метод. Для виртуальных методов адрес таблицы виртуальных методов, правда насколько я помню для каждого экземпляра создается своя таблица витруальных методов. А вот с динамичискими посложнее... Дальнейшее обсуждение думаю выходит за рамки данной темы. |