Вторник
17.10.2017
06:57


Форма входа

Приветствую Вас Гость | RSS
Borland Delphi 7
Главная Регистрация Вход
Главная » 2009 » Март » 14 » удобный визуальный комбайн
удобный визуальный комбайн
18:42
[компонентный подход] предоставляет явные преимущества. А что делать, если нет нужного или если то, что есть, не обеспечивает желательный функционал программы?

Выход 1

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

Выход 2

Неужели руки большинства разработчиков растут настолько криво? Что, нельзя уже и собственными компонентами обзавестись? Конечно, на такой случай никто не станет изобретать велосипед, но бывает, что не удается найти именно велосипед. В Delphi используется обычная объектная модель и каждый компонент является потомком какого-нибудь базового класса. Работает нормальная наследуемость свойств и методов, их переопределение. Приведем простенький пример создания собственного компонента (в конце концов, все не так сложно). Запускаешь Delphi for Microsoft Win32. Выбираешь тип проекта: Delphi Projects\Delphi Files-> Component...

Появляется окно выбора компонента, потомком которого будет наш собственный компонент. Мы хотим просто добавить некое свойство MyInt к стандартному набору свойств компонента TButton — выбираем его и указываем, на какой вкладке палитры компонентов должен быть помещен новый компонент.

unit Button1;

interface

uses

SysUtils, Classes, Controls, StdCtrls;

type

TMyButton = class(TButton)

private

{ Private declarations }

FMyInt: Integer;

procedure SetMyInt(const Value: Integer);

function GetMyInt: Integer;

protected

{ Protected declarations }

public

{ Public declarations }

published

{ Published declarations }

property MyInt:Integer read GetMyInt write SetMyInt;

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Samples', [TMyButton]);

end;

function TMyButton.GetMyInt: Integer;

begin

result := FMyInt;

end;

procedure TMyButton.SetMyInt(const Value: Integer);

begin

FMyInt := Value;

end;

end.

Компилируем проект через <Shift>+<F9> или Project\Build Paqckage1. В директории, выставленной по умолчанию для новых проектов, появится файл Package1.bpl. Теперь закрыть все и открыть меню Component\Install Packages. Добавить путь к указанному файлу, нажать вездесущую кнопку ОК. Теперь, если будет создан новый проект для Win32 и если будет открыта вкладка Samples, то можно поместить на форму компонент MyButton, уже содержащий новое свойство MyInt.

Категория: Статьи участников клуба | Просмотров: 674 | Добавил: delphi | Рейтинг: 0.0/0 |
Всего комментариев: 1
1  
Молодцы biggrin

Имя *:
Email *:
Код *:
Меню сайта

Разделы новостей
Программные обеспечения [6]
Учебники и справочники Delphi [15]
Лабораторные работы [2]
Статьи участников клуба [36]
Советы и трюки [1]

Календарь новостей
«  Март 2009  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Поиск

Друзья сайта

Мини-чат

Наш опрос
Какой раздел нужно добавить на сайт и на форум?
Всего ответов: 56

Статистика

Copyright MyCorp © 2017