| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Object inspector |
| Автор: Frees 21.3.2006, 16:32 |
| Суть проблемы : делаю родительскую форму в ней в блоке published описываю ряд property после того как создаю потомков от етой формы хотелось бы чтобы созданные в родителе property были видны в Object inspector, но етого не происходит Как решить такую проблему, PS использую Delphi 2006 |
| Автор: bems 21.3.2006, 17:11 |
| имхо никак иначе бы все невизуальные компоненты типа "форма с заливкой" или "непрямоугольная форма" были бы наследниками формы, а не невизуальными компонентами |
| Автор: Romikgy 21.3.2006, 17:11 |
| Имхо твою форму надо зарегестрировать в дельфи, а вот как я не в курсе (это по аналогии с компонентами говорю) |
| Автор: Frees 22.3.2006, 07:14 | ||
а кто нить в курсе? |
| Автор: Snowy 22.3.2006, 10:00 |
| IMHO никак. |
| Автор: Alexeis 22.3.2006, 11:01 |
| Я думаю что способ всетаки есть. Ведь в delphi ничего уникального для класса tform не делалось, а работает ведь. Вообше среда делфи может много (даже програмировать себя). Сам ищу подобную информацию. Frees, не унывай я считаю что ответ "никак" здесь не совсем верный. |
| Автор: Alex 22.3.2006, 11:46 |
| Ответ ни как конечно не совсем точен, т.к. кто мешает эту форму оформить ввиде компонента и вы получите, что хотите. Object Inspector показывает published свойства компонентов, а вы создаете свою форму на основе некой базовой, но для Object Inspector она как была обычной формой так формой и осталась. |
| Автор: Alexeis 22.3.2006, 12:00 |
| Вообщем нашел решение правда для делфи 4. Есть для этого оказываетя специальный пакет http://www.torry.ru/vcl/experts/ide/cfpack4.zip |
| Автор: Frees 22.3.2006, 15:53 |
| как то с етим компонентом в В2006 глухо |
| Автор: Msl 23.3.2006, 09:21 | ||
| Хотел бы напомнить: У Борланд есть два ключевых момента, связанных с основным отличием Delphi/Builder от всех прочих визуальных сред программирования. 1. RTTI -механизм/способ доступа к зарегистрированным (помеченным как published) свойствам объектов 2. ToolsAPI -способ доступа к зарегистрированным объектам и зарегистрированным свойствам объектов под Delphi IDE Думается, что Все идеи, которые изложены ниже относятся к ко всем версиям Delphi C Delphi 2005-2006 не работал, но думаю что Борланд свой конек сохранила и там. Для начала проверь, есть ли аналоги процедур RegisterClass, RegisterClasses,RegisterCustomModule в библиотеках Delphi 2006. См. книги и примеры Delphi Developer HandBook, Mastering Delphi (на marcocantu.com) { This explains how to set up a new form descendant which will have editable properties via the object inspector }
Удачи! |
| Автор: Romikgy 23.3.2006, 09:56 |
| Вот еще на этуже тему Добавлено @ 09:58 Название незахотело писаться Открытые интерфейсы среды программирования Delphi |
| Автор: Seldon 26.7.2006, 10:25 | ||
Под D7 пришлось чуть-чуть подправить исходник, но в целом всё поставилось и новые свойства отображаются в OI. Под BDS (D2006) появились проблемы: П: компилятор не мог найти модули ExptIntf,ToolIntf,VirtIntf,IStreams,DesignIntf,DesignEditors Р: добавил %BDS%\Source\ToolsAPI к путям поиска --- П: в модуле ToolsAPI.pas (на который ссылаются вышеуказанные модули) ругань на {$IFDEF MSWINDOWS} uses Windows, SysUtils, Classes, ActiveX, TypInfo, DockForm, DesignIntf, Menus, ActnList, Graphics, ImgList, Forms, Controls, ComCtrls, XMLIntf; {$ENDIF} [Pascal Fatal Error] ToolsAPI.pas(20): F1026 File not found: 'DockForm.dcu' Р: поиск модуля DockForm по папке с дистрибом BDS результатов не дал. пришлось убрать этот модуль из uses что интересно, при поиске по дистрибу, был найден файл DOCKFORM.HPP, который был сгенерирован по Dockform.pas // (DO NOT EDIT: machine generated header) 'Dockform.pas' rev: 10.00 --- П: теперь ругань в нескольких местах ToolsAPI.pas на отсутствие класса TDockableForm Р: поиск по дистрибу файла с описанием класса TDockableForm результатов не дал. я заменил TDockableForm на TCustomForm - просто чтобы успокоить компилятор --- П: в модуле DesignEditors.pas ругань на uses DesignConst, Consts, RTLConsts, Contnrs, Proxies, ToolsAPI, ActnList; [Pascal Fatal Error] DesignEditors.pas(609): F1026 File not found: 'Proxies.dcu' Р: поиск модуля Proxies по папке с дистрибом BDS результатов не дал (правда опять нашёлся файл PROXIES.HPP). пришлось убрать этот модуль из uses --- П: теперь ругань на функцию IsProxyClass в двух местах Р: пришлось их закомментировать --- это были проблемы в используемых кодом модулях, теперь проблемы в самом коде П: ругань на TIStream Р: заменил на IStream и подключил модуль ActiveX, где он объявлен --- П: ругань на последний параметр (true) в CodeStream:=TIStreamAdapter.Create(TStringStream.Create(Format(FormUnitSource,[UnitIdent,FormName])),true); Р: убрал его --- П: ругань на CodeStream.AddRef; Р: заменил на _AddRef --- П: ругань на последний параметр (true) в DFMStream:=TIStreamAdapter.Create(DFMVCLStream,true); Р: убрал его --- П: ругань на DFMStream.AddRef; Р: заменил на _AddRef --- П: ругань на DFMStream.Free; и CodeStream.Free; Р: убрал их в результате оно скомпилировалось но в репозитарии новых объектов не появилось. все вышеперечисленные проблемы к этому отношения, по видимому, не имеют т.к. за появление эксперта в репозитарии отвечает единственная строчка RegisterLibraryExpert(TMiBFormExpert.Create); вот такие пироги... сдаётся мне, что в BDS4 ToolsAPI просто не доделан. |
| Автор: drkot 4.8.2006, 14:42 |
здается неправильно здается. StarTeam, темплеты кодов подсветка и все прочие навароты сделаны на ToolAPI. там просто поменялись интерфейсы. После причесвания приведенного Msl примера и установки его под BDS2006 результат оказался нулевой. Все наследники Extert-а можно прописать только в меня help. Для добавления в другие места оболочки используются NTA интерфейсы (тока примеров их использования нет). Те примеры что поставляются с делфей расчитаны на ранние версии (D7), хотя компилятся замешательно, но при инсталяции в оболочку не прописываются. |