Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 19:55   #1
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию Созадание собственнго компонента в Delphi.

Друзья, я создаю свой собственный компонент. Жму Component далее new component и т.д. Жму ok. Пишу код. А дальше что ? Как сделать чтобы компонент сохранялся на форме . У меня не получается (. Спасибо
Beren42 вне форума Ответить с цитированием
Старый 03.06.2011, 20:10   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Установка созданного компонента Component/Install Component...
Цитата:
Install Into New Package
Package file name: путь к dpk нового компонента
Package description: имя package
целиком
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 03.06.2011, 21:26   #3
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Спасибо огромное !
Beren42 вне форума Ответить с цитированием
Старый 04.06.2011, 18:39   #4
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Вот созданный мной компонент. Но он не работает ( . По идее это должна быть кнопка. Если свойство Resizable:= true, то на кнопке появляется количество нажатий. Иначе на кнопке появляется ноль. Вот весь код
Код:
unit MyButton1;
interface
uses
  SysUtils, Classes, Controls, StdCtrls;
type
  TMyButton1 = class(TButton)
  private
    { Private declarations }
    FResizable:Boolean;
    ButtonBuffer:integer;
  protected
    { Protected declarations }
  public
    { Public declarations }
    procedure Click ; override;
  published
    { Published declarations }
    property Resizable:Boolean  read FResizable write FResizable;
  end;
procedure Register;
implementation
procedure Register;
begin
  RegisterComponents('Additional', [TMyButton1]);
end;
  procedure  TMyButton1.Click;
  begin
  inherited Click;
   if TMyButton1.Resizable : = True then
    begin
      ButtonBufer := ButtonBuffer + 1;
      TMyButton1.Text := IntToStr(ButtonBuffer);
    end
    else
     TMyButton1.Text := '0'
  end;
end.
Конкретно ошибка появляется в
Код:
  if TMyButton1.Resizable : = True then
Спасибо
Beren42 вне форума Ответить с цитированием
Старый 04.06.2011, 18:46   #5
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

Цитата:
if TMyButton1.Resizable : = True then
Убери знак присвоить и поставь просто равно!)

Цитата:
if TMyButton1.Resizable = True then
BlackFishSQL вне форума Ответить с цитированием
Старый 04.06.2011, 19:33   #6
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Изменил. Не помогло . "Method indentifier expected "
Beren42 вне форума Ответить с цитированием
Старый 04.06.2011, 21:00   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TMyButton1.Resizable
Никого кроме меня не смущает попытка работы с классом?
Может быть стоит писать
Код:
Self.REsizable
, и автору читать внимательнее ошибки компилятора?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2011, 22:13   #8
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Изменил в TTMyButton1.Resizable на Self.REsizable и TMyButton1.Text на Self.Text.
Ошибка : "Cannot debug project unless a host application is defined."
Beren42 вне форума Ответить с цитированием
Старый 04.06.2011, 22:25   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно ))
Компонент ты написал, но запустить его нельзя - это не приложение.
Нужно проинсталлировать компонент в палитру Делфи, кинуть его на форму и уже приложение с формой, на котором этот компонент запускать - это штатная схема.
Можно по хакерски - описать компонент в приложении, прописав его создание ручками, но ты сначала попробуй всетки первый вариант.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2011, 22:32   #10
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Stilet, огромное спасибо !! ТЫ НЕ ПРЕДСТАВЛЯЕШЬ СКОЛЬО Я С ЭТОЙ КНОПКОЙ МУЧАЛСЯ. Просто ради любопытства: А почему нельзя через TMyButton1.Resizable и TMyButton1.Text ?

Последний раз редактировалось Beren42; 04.06.2011 в 22:35.
Beren42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание компонента Delphi 7 alex_triton Помощь студентам 12 08.10.2009 09:45
Delphi. Скриншот компонента AlexandЯ Помощь студентам 4 14.04.2009 00:06
Установка компонента в Delphi 2006 Dr.Badnezz Компоненты Delphi 3 03.12.2008 01:33
Понятие компонента в Delphi showman Помощь студентам 2 05.06.2007 23:26