"EhLib.Com" https://forum.ehlib.com/ru/ |
|
Наследование в Ehlib https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2736 |
Страница 1 из 1 |
Автор: | ivanserm [ 07 фев 2019, 05:49 ] |
Заголовок сообщения: | Наследование в Ehlib |
Как создать свой control, наследуемый от conrol Ehlib Например control, наследуемый от TCustomDBComboBoxEh, с возможностью заполнения свойств Items и KeyItems при активизации формы |
Автор: | AndrewP [ 07 фев 2019, 08:53 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
А при чем здесь форум по библиотеке EhLib? Есть программисткие форумы, а также книжки и учебники. |
Автор: | ivanserm [ 07 фев 2019, 19:57 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
Потому что при создании наследуемых компонентов от controls Ehlib tесть проблемы. Если для стандартных компонентов Delphi наследование проходит гладко, то для компонентов, наследуемых от controls Ehlib, при запуске программы происходит вылет. Кроме того такой компонент плохо ложится на форму. |
Автор: | EhLibSupport [ 26 фев 2019, 20:27 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
Добрый день. Компоненты из библиотеки должны наследоваться также, как и любые другие компоненты VCL. Если есть ошибки, то надо разбираться с каждой отдельно. Присылайте, демо проекты, описание ошибок, стеки вызовов. |
Автор: | AndrewP [ 26 фев 2019, 21:27 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
ivanserm писал: Цитата: Если для стандартных компонентов Delphi наследование проходит гладко, то для компонентов, наследуемых от controls Ehlib, при запуске программы происходит вылет. Кроме того такой компонент плохо ложится на форму Это не подтверждается практикой. У меня прекрасно работает компонент, который помещен в палитру компонентов, наследуемый от TDBGridEh. |
Автор: | ivanserm [ 27 фев 2019, 19:00 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
Уважаемый AndrewP, если у Вас есть опыт в написании подобных компонент, тогда объясните, что неверно в этом коде (код практически повторяет компонент TComboboxEh, за исключением добавления двух свойств) unit bttcomboboxeh; {$R-} interface uses Windows, SysUtils, Messages, Classes, Controls, Forms, Graphics, Menus, StdCtrls, Buttons, Db, DBCTRLS, DBCTRLSEH; type TBttComboBoxEh = class(TCustomDBComboBoxEh) private Slfull: String; // SlType: String; SlClass: word; fformat: word; FSorted: Boolean; // fldname: string; // procedure SetSlovarType(const Value: string); // procedure SetSorted(Value: Boolean); // procedure GetParts1(cname: String); published property ControlLabel; property ControlLabelLocation; property Align; property Alignment; property AlwaysShowBorder; property Anchors; property AutoSelect; property AutoSize; {$IFDEF FPC} {$ELSE} property BevelEdges; property BevelInner; property BevelKind default bkNone; property BevelOuter; {$ENDIF} property BiDiMode; property BorderStyle; property CharCase; property Color; property Constraints; {$IFDEF FPC} {$ELSE} property Ctl3D; {$ENDIF} property DataField; property DataSource; property DynProps; property DragCursor; property DragKind; property DragMode; property DropDownBox; property EmptyDataInfo; property Enabled; property EditButton; property EditButtons; property EditMask; property Font; property Flat; property HighlightRequired; property Images; {$IFDEF FPC} {$ELSE} property ImeMode; property ImeName; {$ENDIF} property Items; property KeyItems; property LimitTextToListValues; property LimitTextToListValuesStored; property MaxLength; property MRUList; property ParentBiDiMode; property ParentColor; {$IFDEF FPC} {$ELSE} property ParentCtl3D; {$ENDIF} property ParentFont; property ParentShowHint; property PopupMenu; property ReadOnly; property ShowHint; {$IFDEF EH_LIB_17} property StyleElements; {$ENDIF} property TabOrder; property TabStop; property Text; property CaseInsensitiveTextSearch; property Tooltips; {$IFDEF EH_LIB_13} property Touch; {$ENDIF} property Visible; property WordWrap; property OnButtonClick; property OnButtonDown; property OnChange; property OnCheckDrawRequiredState; property OnClick; property OnCloseDropDownForm; property OnCloseUp; {$IFDEF EH_LIB_5} property OnContextPopup; {$ENDIF} property OnDblClick; property OnDragDrop; property OnDragOver; property OnDropDown; property OnEndDock; property OnEndDrag; property OnEnter; property OnExit; {$IFDEF EH_LIB_13} property OnGesture; {$ENDIF} property OnGetImageIndex; property OnGetItemImageIndex; property OnKeyDown; property OnKeyPress; property OnKeyUp; property OnMouseDown; property OnMouseMove; property OnMouseUp; property OnNotInList; property OnOpenDropDownForm; property OnStartDock; property OnStartDrag; property OnUpdateData; property SlovarType: string read Slfull write Slfull; // имя_словаря[, имя_видимого_поля] property SlovarClass: word read slClass write slClass; property Slovarformat: word read fformat write fformat; // 1 - format('%03.03d', [code]) + ' - ' + TextField.AsString property Sorted: Boolean read FSorted write FSorted; // true - text false - ec end; procedure Register; implementation uses Clipbrd, Dialogs, vdbconsts, ORA, variants; const clCosmicLatte = TColor($00FFF8E7); procedure Register; begin RegisterComponents('EOSER', [TBttComboBoxEh]); end; end; |
Автор: | S_Gur [ 05 мар 2019, 17:23 ] |
Заголовок сообщения: | Re: Наследование в Ehlib |
ivanserm писал(а): Уважаемый AndrewP, если у Вас есть опыт в написании подобных компонент, тогда объясните, что неверно в этом коде (код практически повторяет компонент TComboboxEh, за исключением добавления двух свойств) А в чем проблема создать потомка сразу от TComboboxEh, добавив в него эти два свойства? |
Страница 1 из 1 | Часовой пояс: UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |