Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 28 мар 2024, 10:31

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Наследование в Ehlib
СообщениеДобавлено: 07 фев 2019, 05:49 
Не в сети

Зарегистрирован: 06 окт 2016, 15:28
Сообщений: 7
Как создать свой control, наследуемый от conrol Ehlib
Например control, наследуемый от TCustomDBComboBoxEh,
с возможностью заполнения свойств Items и KeyItems
при активизации формы


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 07 фев 2019, 08:53 
Не в сети

Зарегистрирован: 24 ноя 2012, 12:58
Сообщений: 32
А при чем здесь форум по библиотеке EhLib?
Есть программисткие форумы, а также книжки и учебники.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 07 фев 2019, 19:57 
Не в сети

Зарегистрирован: 06 окт 2016, 15:28
Сообщений: 7
Потому что при создании наследуемых компонентов от controls Ehlib tесть проблемы.
Если для стандартных компонентов Delphi наследование проходит гладко, то для
компонентов, наследуемых от controls Ehlib, при запуске программы происходит вылет.
Кроме того такой компонент плохо ложится на форму.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 26 фев 2019, 20:27 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1546
Добрый день.

Компоненты из библиотеки должны наследоваться также, как и любые другие компоненты VCL.
Если есть ошибки, то надо разбираться с каждой отдельно.
Присылайте, демо проекты, описание ошибок, стеки вызовов.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 26 фев 2019, 21:27 
Не в сети

Зарегистрирован: 24 ноя 2012, 12:58
Сообщений: 32
ivanserm писал:
Цитата:
Если для стандартных компонентов Delphi наследование проходит гладко, то для
компонентов, наследуемых от controls Ehlib, при запуске программы происходит вылет.
Кроме того такой компонент плохо ложится на форму

Это не подтверждается практикой.
У меня прекрасно работает компонент, который помещен в палитру компонентов, наследуемый от TDBGridEh.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 27 фев 2019, 19:00 
Не в сети

Зарегистрирован: 06 окт 2016, 15:28
Сообщений: 7
Уважаемый 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;


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Наследование в Ehlib
СообщениеДобавлено: 05 мар 2019, 17:23 
Не в сети

Зарегистрирован: 07 окт 2012, 17:29
Сообщений: 31
ivanserm писал(а):
Уважаемый AndrewP, если у Вас есть опыт в написании подобных компонент, тогда объясните, что неверно в этом коде
(код практически повторяет компонент TComboboxEh, за исключением добавления двух свойств)


А в чем проблема создать потомка сразу от TComboboxEh, добавив в него эти два свойства?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: dnau и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB