Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как скрыть все поля и методы родителя класса?  (Прочитано 23650 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« : 20-06-2003 12:14 » 

А точнее скрыть от ObjectInspector в своей компоненте в Delphi или C++Builder ? :?:
Спасибо.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #1 : 20-06-2003 16:12 » 

Ты вроде можешь наследуясь от объекта указывать, что он у тебя не дает права наследовать от своего родителя, protected в С++

Правда среда этого может не увидеть и по прежнему давать тебе списки методов...
Записан

А птичку нашу прошу не обижать!!!
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #2 : 20-06-2003 16:43 » 

Пробовал! Одна малина!
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #3 : 20-06-2003 16:55 » 

Жаль Я в С под Винду делал комментарии в среде, перед функциями, а вот в Дельфи - мож кто знает...
Записан

А птичку нашу прошу не обижать!!!
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #4 : 20-06-2003 17:04 » 

А в смысле как? Может в C++ Builder прокатит? Мне без разницы.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #5 : 20-06-2003 23:21 » 

Дая ж говорю в студии делал комментарии к функциям класса, а закрывать родителя как-то в голову нге приходило...
Записан

А птичку нашу прошу не обижать!!!
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 21-06-2003 11:20 » 

Что то  я не вехал что за компонента ? СОМ?
Записан

Да да нет нет все остальное от лукавого.
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #7 : 21-06-2003 12:45 » 

Типа: TNaprimer class (TButton)
А компонента для Delphi. (Package,Component)
В Delphi есть такая штука как Property Inspector
вот в ней поля и отображаются. Вот в этом вопрос.

Продолжаю. При использовании моей компоненты программистЪ не должен редактировать некоторые поля, которые принадлежат родительскому классу.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 21-06-2003 13:31 » 

Мне это особо ничего не сказало, поставим вопрос подругому

Этот объект  поставляется(конечному пользователю) в виде исходников(те класическое наследование и закрытие полей вопрос синтаксиса) или это бинарник с заголовками (как ком например  тогда там наследование это посути создание прокси объекта и закрытие лишних методов это уже задача програмирования )?
Записан

Да да нет нет все остальное от лукавого.
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #9 : 21-06-2003 13:37 » 

Объект в виде исходников.
Пример:
  TNewButton = class(TButton)
  private
   FTag: Integer;
  protected
   procedure RefreshMsgTree;
   procedure NewClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure NewDblClick(Sender: TObject);
   procedure MouseMoveNew(Sender: TObject; Shift: TShiftState;   published
   constructor Create(AOwner : TComponent);override;
   destructor Destroy; override;
  end;

Так вот когда мы кидаем сию компоненту(естественно оформленную как надо) на свою форму, то появляется кнопочка при выборе которой в Property Inspector выводятся свойства данной кнопки. Причем мне необходимо скрыть некоторые из них дабы их никто не менял. Вот как это сделать.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 21-06-2003 14:15 » 

Я не работаю с делфи .  
Проясни их идеологию с точки зрения паскалевского кода  там простое наследование.
как еслибы на С написали:
Код:
class My1 
|
int fd;
/////
"
class My2 {public My1
|
int fd;
/// Пардон за пимер на С за поскаль давно не брался

"


В этом случае скрыть методы  нельзя
но ты можешь переопределить те методы и свойства которые нельзя вызывать.   В этом  случае  fd  в потомке перекроет  fd родителя, незнаю правда как на это прореагирует отображалка но как вариант попробовать можно.



  В MS DEV там есть  теги которые вставляются в код как коментарии и исползуется визардами для коректной работы с кодом. Но это исключительно команды для отображалки и они кстати не документированы и глючат.
Записан

Да да нет нет все остальное от лукавого.
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #11 : 21-06-2003 14:40 » 

Да в том то и дело что не документированы, а в примере PSD отображалка отобразит 2 раза fd Жаль
Записан

А птичку нашу прошу не обижать!!!
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 21-06-2003 14:48 » 

К стати в VC  если после имени переменной поставить коментарий он будет отображаться как всплывающая подсказка.
Можно туда чтонибудь грозное написать.

Код:
int dd; // Не изменять  
Записан

Да да нет нет все остальное от лукавого.
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #13 : 21-06-2003 15:30 » new

А все равно видно! Жаль
Ну ладно может кто еще зайдет, кто знаком с концепцией Borland.
Спасибо большое.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #14 : 21-06-2003 15:51 » 

Не за что. Улыбаюсь
Записан

А птичку нашу прошу не обижать!!!
sss
Специалист

ru
Offline Offline

« Ответ #15 : 02-07-2003 06:32 » 

// где-то в stdctrls.pas
TButton = class(TButtonControl)
private
FOnMouseMove: TNotifyEvent; // это не здесь, но это не важно
----
published
property OnMouseMove .....

// где-то в Сибири

TMyButton = class(TButton)
protected
property OnMouseMove;  :!:
published
....
Записан

while (8==8)
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #16 : 02-07-2003 06:51 » 

И что скроет... :?:
Записан

А птичку нашу прошу не обижать!!!
sss
Специалист

ru
Offline Offline

« Ответ #17 : 02-07-2003 07:24 » 

Цитата: Гром
И что скроет... :?:
Скроет метод из Objrct Inspector->Events->OnMouseMove
Записан

while (8==8)
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« Ответ #18 : 11-07-2003 09:02 » 

sss:
Спасибо. Попробую, как только будет время.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines