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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2009, 16:53   #1
Ti_pain)
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 39
По умолчанию Проблемки в создании компонента((

Ребятишки помогите пожалуйста)) Создаю свй компонент и возникает непонятная проблемка(( вот кусочек текста

Код:
procedure TmaskEditEvo.SetProvDate(Value : boolean);
begin
 FProvDate:=Value;
 if fProvDate then TmaskEditEvo.editmask:='99/99/99;1;'
              else TmaskEditEvo.editmask:='';
end;
ну если тру тогда пишем вот такую масочку) только у меня выдает ошибочку что "editmask" необявлена(( так зачем ее обьявлять если ето свойство предка??

Последний раз редактировалось Stilet; 10.11.2009 в 16:56.
Ti_pain) вне форума Ответить с цитированием
Старый 10.11.2009, 16:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TmaskEditEvo.editmask
Правильно пишет. Ты же к классу обращаешся а не к объекту
Пиши так:
Код:
 if fProvDate then Self.editmask:='99/99/99;1;'
              else Self.editmask:='';
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2009, 16:59   #3
Ti_pain)
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 39
По умолчанию

Оооооооо спасибки большое)) щас проверим))

Ура получилось спасибо большое)) а можна ище один маленький вопросик))Какое события происходит если с компонента уберается фокус ввода?))

Последний раз редактировалось Stilet; 10.11.2009 в 17:04.
Ti_pain) вне форума Ответить с цитированием
Старый 10.11.2009, 17:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

События может и не быть, перехватывай сообщение WM_KILLFOCUS
Пример:
Код:
 TM=class(TMaskEdit)
  private
    FDate: Boolean;
    procedure SetDate(const Value: Boolean);
    Procedure kf(var w:TWMKillFocus); message WM_KILLFOCUS;
  published
  Property Date:Boolean read FDate write SetDate;
 end;
...
procedure TM.kf(var w: TWMKillFocus);
begin
 // Тут типа делаем если фокус соскочил
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2009, 17:09   #5
Ti_pain)
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 39
По умолчанию

Ммммммм мда мне ище расти и расти)) будм думать))

Блин думал наконецто все ок(

Код:
public
    { Public declarations }
    constructor OnExit (AOwner: TComponent ); override;
............
constructor TmaskEditEvo.OnExit(Owner: TComponent);
begin
Inherited OnExit(AOwner);
if FProvDate then Self.Text:='получилось';
end;
.......................
пишет типа метод "OnExit" не может быть загружен в етом класе??
(Method 'OnExit' not found in base class)

Последний раз редактировалось Stilet; 11.11.2009 в 14:35.
Ti_pain) вне форума Ответить с цитированием
Старый 10.11.2009, 20:01   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

OnExit это св-во
а не коструктор.
вам нужно переопределить событие возникающее при потере фокуса компонентом?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2009, 20:03   #7
Ti_pain)
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 39
По умолчанию

Да да думал должно так получиться но шото...
Ti_pain) вне форума Ответить с цитированием
Старый 10.11.2009, 20:09   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если вам нужно переопределить событие при потере фокуса то
обьявите в секции protected
Код:
    procedure DoExit; override;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2009, 20:21   #9
Ti_pain)
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 39
По умолчанию

Спасибки ета проблемка уже ришена))

Почему я не могу вывести например ShowMassage? либо другой диалог? каждый раз пишет что имя диалога неиндифицирован.((

Последний раз редактировалось Stilet; 11.11.2009 в 14:41.
Ti_pain) вне форума Ответить с цитированием
Старый 11.11.2009, 14:42   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему я не могу вывести например ShowMassage?
А в uses модуль Dialogs прописан?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в создании своего компонента hunter03 Компоненты Delphi 1 06.11.2009 09:36
Заменить стандартное событие компонента при создании своего. postal2 Компоненты Delphi 6 28.08.2009 11:01
Проблема при создании компонента Levsha100 Компоненты Delphi 3 02.05.2009 12:05
Проблема перехвата сообщений при создании невизуального компонента volod3000 Компоненты Delphi 7 08.03.2009 14:13