Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Установить самописный компонент in bds 2006

2.1K
07 мая 2009 года
SATALIN
56 / / 03.02.2007
Написал компонент, предок ListBox, создаю пакет добовляю класс всё компилится и инсталится но компанента нет... Чё такое??
....(процедура регистрации описана)
6
07 мая 2009 года
George
4.1K / / 05.01.2007
В исходниках компонента найди процедуру регистрации и посмотри, на какую вкладку он добавляется. Ищи на той вкладке компонентов. Либо там есть где то просмотр всех компонентов, можешь там поискать.
2.1K
07 мая 2009 года
SATALIN
56 / / 03.02.2007
УГУ я тоже не идиот, если бы там, что-нить установилось с пакетом то и вопроса бы не было. Другой самописный компонент ставится спокойна а этот никак, ни на какую вкладку, а в просмотре самого пакета его нет. Что бы это могло быть???
6
07 мая 2009 года
George
4.1K / / 05.01.2007
давай код компонента чтоли. основные моменты хотя бы, процедуры создания уничтожения, регистрации...
2.1K
07 мая 2009 года
SATALIN
56 / / 03.02.2007
Код:
unit FileListBox;
interface
uses
Messages,
StdCtrls,
Controls,
Classes,
ComCtrls,
FLFunctions,
clsFiles,
Windows,
Graphics,
SysUtils,
ExtCtrls;

type
  TMyCustomFileListBox = class (TListBox)
  private
    FMyIndex: Integer;
    FCanvas: TCanvas;
...
    FFiler: CFileManeger;
    Procedure SetPath(path: string);
    procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
    procedure CreateWnd;override;


  public
    procedure DrawItem(Index: Integer; Rect: TRect;
                             State: TOwnerDrawState);override;
    procedure Init;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published

    Property Header:THeaderControl
             read FHeader
             write FHeader;
    property ImageList: TImageList
             read FImageList
             write FImageList;
    Property FilesList: TList
             read FFilesList
             write FFilesList;
    Property CurIndex: integer
             read FMyIndex
             write FMyIndex;        
  end;
procedure register;

implementation
uses
  shellAPI, Forms, FLConst;

///------------------------------------------------------------------

procedure register;
begin
  RegisterComponents('Samples', [TMyCustomFileListBox]);
end;

///-----------------------------------------------------------------

constructor TMyCustomFileListBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

/////////////////////////////

  //FImageList.DrawingStyle
  FFilesList:= TList.Create;
  FFiler:= CFileManeger.Create;
  FCanvas := TControlCanvas.Create;
  self.Color:= clWhite;
end;

destructor TMyCustomFileListBox.Destroy;
begin

  FFiler.Free;
  inherited Destroy;
end;

procedure TMyCustomFileListBox.CreateWnd;
begin
  inherited CreateWnd;
end;

end.
303
08 мая 2009 года
makbeth
1.0K / / 25.11.2004
Несколько замечаний. Обычно свои визуальные компоненты нужно наследовать не напрямую от соотв. стандартных. Как правило у них есть предок TCustomXXX (TCustomListBox), от которого и нужно наследоваться. Какой смысл в том что процедура DrawItem объявлена как public?
Но это, скорее всего, не причина отсутствия компонента в палитре.

Кстати, проверь, что у тебя является design-time.
2.1K
08 мая 2009 года
SATALIN
56 / / 03.02.2007
ПРО то как и от кого наследовать я и сам неплохо знаю. В моём примере был отображен приближеный код который соответствует тематике вопроса. А на счёт public - в процессе разроботки не всё ли равно видим метод или нет.

По существу вопроса - делаю всё так же только с компонентом ListView, и всё мать его работает. При инсталяции компонента пишет: такой-то комп. установлен, а при инстале моего ничего не пишет, только , что пакет установлен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог