Вниз
Скачать: CL | DM;

Вызов свойства компонента из его контекстного меню   Найти похожие ветки 

← →
LikeLamer ©   (2003-04-21 13:06) [0]

Есть компонент (мой собственный), имеющий свойство типа TCollection. Как это свойство вызвать из контекстного меню компонента (соответствующий пункт уже добавил) наподобие "Columns Editor ..." в DBGrid-е?


← →
Skier ©   (2003-04-21 13:08) [1]

TComponentEditor.ExecuteVerb


← →
LikeLamer ©   (2003-04-21 13:15) [2]

Поясню ситуацию. До ExecuteVerb уже давно добрался, но что писать в теле самой процедуры?


← →
Skier ©   (2003-04-21 13:21) [3]

1) напиши override
(т.е. TYourComponentEditor.ExecuteVerb; override;)
2) В теле TYourComponentEditor.ExecuteVerb напиши :
begin
ShowMessage("Hello, world !");
end;
3) Если при клике в контекстном меню увидишь Hello, world !
значит идёшь в верном направлении...и дальше ничего
сложного быть не должно...




← →
LikeLamer ©   (2003-04-21 13:23) [4]

Вот дальше сложности и начинаются


← →
Skier ©   (2003-04-21 13:26) [5]

1) Hello, world ! увидел ?
2)
> Вот дальше сложности и начинаются

Какие ?


← →
LikeLamer ©   (2003-04-21 13:30) [6]

Сложности в следующем. Свойство имеет тип TCollection, в инспекторе объектов вызывается до безобразия просто - по трем точкам. А как его вызвать программно?


← →
Skier ©   (2003-04-21 13:37) [7]

см. ShowCollectionEditorClass и ShowCollectionEditor


← →
LikeLamer ©   (2003-04-21 13:50) [8]

Спасибо. В принципе до ShowCollectionEditorClass я тоже добирался, но там начались проблемы типа ХХХ.dcu not found etc. Как тут бороться - я уже не знаю. То ли Дельфа кривая, то ли я.
Все равно, спасибо.


← →
Skier ©   (2003-04-21 13:54) [9]

>LikeLamer
1) Пропиши путь к подкаталогу ToolsAPI
(в Environment Options|Libarary|Library Path)
2) (судя по subj у тебя, D5, так что с Proxies.pas проблем
быть не может...)


← →
LikeLamer ©   (2003-04-21 14:08) [10]

Не судите строго, но ситуация следующая.
ToolsAPI заюзан, а что такое Proxies.pas моя машинка не знает вообще. Пакет с компонентом компилится без проблем, а проект, использующий компонент не компилится вообще, и именно в этот момент и лезут все ошибки.


← →
Skier ©   (2003-04-21 14:10) [11]

>LikeLamer

> а проект, использующий компонент не компилится вообще, и
> именно в этот момент и лезут все ошибки.

1) Какие ошибки ? Подробнее...


← →
LikeLamer ©   (2003-04-21 14:24) [12]

Ошибки следующие:
File libintf.dcu not found.
В сетке поискал, а там про этот файл такого понаписано, что типа он не поставляется ни в каком виде, а входит в vcl50.bpl. Билдить проект надо с включенной опцией Build with runtime packages. Начинаю все это делать - перестает находить еще какие-то .dcu.


← →
LikeLamer ©   (2003-04-21 14:46) [13]

Дописка.
1. В компилируемом проекте включаем опцию Build with runtime packages.
2. В конец строки под галкой дописываем ;dclstd50 (если там этого нет)
3. После этого все начинает работать


← →
Skier ©   (2003-04-21 14:48) [14]

Код компонента в студию !


← →
LikeLamer ©   (2003-04-21 15:17) [15]

А может лучше не код, а способ войны с этим извратом?! Никакие другие способы, кроме приведенного не помогают, или я их еще не нашел.


← →
Skier ©   (2003-04-21 15:23) [16]

>LikeLamer
Правильный код лучший способ войны с извратом !



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
3-12644
vil
2003-04-16 10:10
2003.05.05
Есть ADOQuery1


1-12810
Nomad
2003-04-22 12:22
2003.05.05
Сравнение строк, передаваемых в качестве параметров в функцию


1-12777
Angel_Forever
2003-04-21 12:04
2003.05.05
case .. of, random и счётчик


3-12630
Stelius
2003-04-12 00:11
2003.05.05
Заполнение таблиц в IBEpert e


1-12752
Snap
2003-04-21 21:57
2003.05.05
Движок создания текстовых (то есть хатмель тоже подходит) файлов.




   Наверх