Re[3]: создание собственного компонента в Delphi
От: Softwarer http://softwarer.ru
Дата: 25.08.04 07:21
Оценка: 45 (1)
Здравствуйте, VooDoo-KB, Вы писали:

VK> возникающая ошибка впринципе ничего ценного в себе не несет...в ней указываются какие-то 0000ххх адреса непонятно чего...


В этих словах Вы сделали две ошибки.

Во-первых, "непонятно чего" как раз обычно и несет ценную информацию. Отбрасывать можно только то, в чем Вы детально разобрались и знаете, что ничего интересного там нет. Методом посмотрел — не понял — неинтересно высот не достичь.

Во-вторых, это непонятно что утверждает, что у Вас проблема при работе с динамической памятью. То есть ошибка вряд ли имеет отношение к сути того, что Вы делаете — скорее, к технике Ваших действий.

Что касается динамической памяти — объяснять на пальцах тут вряд ли стоит; это лучше смотреть в литературе.

S>>1) Полезно иногда смотреть места, где аналогичная задача уже решена. Например, в TDBEdit делается именно что выбор поля из датасета, да и в других db-компонентах — тоже. Исходники VCL доступны.


VK>Смотрел. Но ничего ценного для себя не нашел.


Рискну предположить, что это скорее из серии "плохо смотрел". Либо я не понимаю, чего Вы хотите достичь в этом месте.

VK>Нет ничего проще активировать(и пусть он всегда открыт) датасет и брать из него поля.Я так и действовал.


Это действительно просто. Вот только работать так зверски неудобно. Причин три. Во-первых, даже в самом лучшем случае открытие датасета занимает время и память. И когда таким образом откроешь три-четыре десятка датасетов, тривиальная операция — типа "открыть data module" — начинает выполняться несколько медленно. Во-вторых, далеко не все датасеты могут быть тупо открыты в дизайн-тайме — начинаются ошибки. В-третьих, при работе программы датасет обычно требует той или иной инициализации перед открытием — в результате чего при загрузке программы сначала откроется датасет (хорошо если без ошибки), потом программа его закроет, инициализирует как надо и снова откроет.

S>>3) Есть такая штука — property editors & component editors. Желающему писать компоненты нужно про них знать.


VK>Вы не подскажете где с этой "штукой" можно ознакомиться?


Хм. Исходники дельфы и чужих компонент. Каталог \Source\ToolsAPI в дельфе. Литература и статьи. Гугль.

VK>Этот компонент планируется НЕ для создания "справочников", а как вспомогательный, частоиспользуемый элемент при работе с БД.


Это компонент выбора значения из справочника. На самом деле Вы идете путем, который уже многократно пройдет самыми разными людьми самыми разными способами. И хорошие способы, которые я видел — утверждают, что комбобокса для этого не хватит.

VK> А до запросов мне еще нужно дойти(если они вообще будут применяться).


Дойдете. Может, и не до запросов — но до необходимости получить данные для выборки.

Поэтапное решение — это хорошо. Но сначала должен быть общий проект. А Вы пытаетесь проектировать "снизу вверх" — вряд ли понимая риски такого подхода.

VK>На данном этапе для меня стоит задача заполнения свойства Field_DB. Мне совершенно непонятно почему предложенные мной варианты не могут быть осуществимы, ведь с синтаксической точки зрения они выполнены правельно.???


Ошибка в семантике.

VK>Мне очень интересно ознакомиться с Вашим мнением по этому поводу, ведь порой люди так погружены в работу, что перестают замечать простого решения у себя перед носом(в данном случае, это наверное я) и свежая,пускай даже простая, идея другого человека может очень сильно помочь.


Простите, в данном случае Вам нужно просто повышать знания и умения в концептуальных вопросах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.