Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Вниз

Написание компанент   Найти похожие ветки 

 
Stas   (2003-10-24 14:31) [0]

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

Заранее благодарен .


 
Романов Р.В.   (2003-10-24 14:44) [1]

Не копанент, а КОМП ОНЕНТ


 
Stas   (2003-10-24 14:45) [2]

Спасибо !


 
Игорь Шевченко   (2003-10-24 14:45) [3]

Задать понятный вопрос.


 
Skier   (2003-10-24 14:48) [4]

А это два петуха, которые будят того пастуха,
Который бранится с коровницей строгою,
Которая доит корову безрогую,
Легнувшую старого пса без хвоста...


 
Reindeer Moss Eater   (2003-10-24 14:49) [5]

что нужно сделать что бы этого не происходило

Перекрытия?

Так подключенный компонент тебе доступен.
Его событие - тоже.
Присваивай периодически этому событию свой обработчик и перекрытия не будет (если уж ты решил использовать такую порочную практику написания компонент)


 
Stas   (2003-10-24 14:51) [6]

Какая не порочная ?


 
Reindeer Moss Eater   (2003-10-24 14:52) [7]

Не порочная такая, которая не устанавливает таких зависимостей


 
jack128   (2003-10-24 14:59) [8]

А может самому(в конструкторе твоего компонента) создовать другой компонент?


 
Stas   (2003-10-24 15:02) [9]

Хорошо. Тогда такой вопрос: Есть TTable, TDataSource,TDbgrid, когда делаешь TTable.Open, В TDBGrid создаются колонки. Я считал что это выполняется на событие TTable.AftrerOpen.
Если это не так, тогда как ?


 
Reindeer Moss Eater   (2003-10-24 15:05) [10]

когда делаешь TTable.Open, В TDBGrid создаются колонки.

Если они не создавались в DesignTime


 
Юрий Федоров   (2003-10-24 15:09) [11]

>>Stas © (24.10.03 15:02) [9]
Как это выполняется, можно узнать из первоисточника (код VCL).
И самый лучший способ - сделать по аналогии


 
Stas   (2003-10-24 15:13) [12]

Чтобы всем было понятно !
Объясняю !
Есть TDBTreeView, наследник TTreeView, к нему подключается DataSet, Нужно его наполнить на открытие TDataSet, процедура наполнения тоже есть. Вопрос-куда ее нужно вписать ?


 
jack128   (2003-10-24 15:16) [13]


> И самый лучший способ - сделать по аналогии

Я так понял DataSet сам извещает DataSourse о разных событиях?
Если так то я бы не сказал, что это хороший способ (хотя за отсутствием иных и сойдет). Я вообще не понял зачем этот DataSourse нужен. Помоему из связки DataSet->DataSourse->DataLink его(DataSourse) вполне можно исключить...


 
Skier   (2003-10-24 15:16) [14]

>Stas © (24.10.03 15:13) [12]
Нужно изучать внимательно класс TDataLink и писать его наследника. Так пишутся data-aware компоненты...


 
Stas   (2003-10-24 15:42) [15]

Спасибо всем !!!



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

Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
8-8554
Илья
2003-07-03 12:49
2003.11.03
Работа со звуком.


14-8629
Фте
2003-10-14 19:13
2003.11.03
DxTreeList


1-8519
Димос
2003-10-23 11:54
2003.11.03
Функции из DLL


1-8366
The X
2003-10-22 04:51
2003.11.03
Нужно перевести текст консольного приложения в


14-8634
Mystic
2003-10-07 13:54
2003.11.03
Интересная партия





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский