Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Опять проблема с именами :)   Найти похожие ветки 

 
Psychedelic ©   (2007-01-25 23:41) [0]

Здравствуйте.
Владимир к вам вопрос.
Наткнулся тут на такую бяку.

procedure TObj.SetName(const NewName: String);
...
if NewName <> "" then
   if FindObj( NewName ) <> nil then Exit; // prevent duplications!

А зачем собственно говоря это нужно???

Мало того того что забирает лишнее время так еще и приводит к такой ситуации:

К примеру есть две формы, на каждой форме кидаем по лэйблу,
в этом случае второму лэйблу имя не будет присвоено!
т.к. у обоих имя Label1.

Вы не могли бы убрать? А то приходиться переименовывать, потом вспоминать есть ли это имя на других формах...
Да и не логично это как-то. Ведь на форме двух имен и так не будет,
IDE отслеживает ведь, или я ошибаюсь?


 
Psychedelic ©   (2007-01-26 00:01) [1]

Может NamedObjectsList подцепить к каждой форме (и findObj соответственно)?
Тогда будет несколько плюсов:

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

Иcчезнет проблема дубликатов сама собой.

А?


 
Vladimir Kladov   (2007-01-26 14:59) [2]

Можете. Присобачьте. (Я же говорю: с именами не работаю, кроме отладки не использую).


 
Psychedelic ©   (2007-01-26 18:21) [3]


> Можете. Присобачьте. (Я же говорю: с именами не работаю,
>  кроме отладки не использую).


Но тут тогда требуются уточнения, чтобы работа в утиль не пошла.

Для того чтобы присобачить к форме нужно:

1. В Pcontrol добавить NamedObjectList.

2. В NewForm в KOL_ASM.inс добавить создание этого списка.

3. Вместо  Result.Button1.Name := "Button1" нужно сделать public
  процедуру SetName (Form:Pcontrol (или указатель на Plist), Name).
  Т.е. нужно будет исправить в зеркале.  

Это основное. Я правильно рассуждаю? Может что то забыл?
Может у Вас будут другие идеи?
Если да, тогда я берусь.


 
Psychedelic ©   (2007-01-27 11:48) [4]

Владимир ну скажите что - нибудь. Хотя бы Да или Нет :)


 
Vladimir Kladov   (2007-01-27 20:22) [5]

Да все вы правильно рассуждаете. Если вам надо как в VCL, чтобы имя было уникально в пределах формы.


 
Psychedelic ©   (2007-01-29 14:38) [6]

Я в потерях :).
Вчера все сделал, разницу расписал, и уже хотел отправлять, но тут подумал.
Ведь там глобального NamedObjectList нету. вместо Name:= идет SetName итд.

Теперь к вам вопрос,- вы сделаете
1. новую версию USE_NAMES или  
2. замените старую?
Мне кажется лучше заменить, т.к. USE_NAMES заведомо логически

неправильна (имена не могут быть одинаковы), да и судя по отсутствию отзывов

не многие пользуются именами (или очень немногие если не никто), скорее всего

из - за этого. Да и места в KOL меньше надо.
Мне к примеру лично имена нужны для создания мультиязыкового приложения, и

только (компонент которого делаю). Хотя может кто-то возразит?

Ну а если первое, то как назвать директиву? NEW_USE_NAMES что-ли?
Спрашиваю чтобы вам было меньше работы и соответственно изменения будут приняты быстрее.


 
homm ©   (2007-01-29 15:09) [7]

Думаю что Владимиру как раз будет меньше работы, ксли ты отошлеш как нужно для твоей реализации, без IFDEF. Просто не так чтонить оформиш, потом переделывать только хуже. ИМХО.


 
Psychedelic ©   (2007-01-29 15:17) [8]


> Думаю что Владимиру как раз будет меньше работы, ксли ты
> отошлеш как нужно для твоей реализации, без IFDEF.

Ну у вас и слог... :) Еле понял. - ошибка на ошибке.

Да нет, там много изменений, и они разбросаны и в KOL , и в mirror и mirror obj. Замучаешся перебирать.
Лучше как я предлагаю, - я вышлю готовые модули, но там где есть изменения будут спец знаки. Т..е они даже не откомпилятсья...

И еще проблема : что делать с именами в TKOLDataModule?


 
Psychedelic ©   (2007-01-29 16:16) [9]

Владимир а можно прикрепить NamedObjectList к Tobj (не в техническом смысле)? тогда проблема с TKOLDataModule будет решена.
Или это неприкасаемая основа?


 
Vladimir Kladov   (2007-01-29 17:16) [10]

В VCL Tag (и Name) появляется для TComponent, у нас Tag есть для TObj, почему не быть там же и Name?



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
2-1187717807
Alex.rus
2007-08-21 21:36
2007.09.16
CreateProcess


8-1165527388
AndreyRu
2006-12-08 00:36
2007.09.16
Antialiasing Глифов!


15-1187370188
EEefe
2007-08-17 21:03
2007.09.16
visual studio 2005 и visual studio .net


15-1187471647
timself
2007-08-19 01:14
2007.09.16
Помогите подобрать компонент… RTF-->HTML


15-1187695864
ZeroDivide
2007-08-21 15:31
2007.09.16
Delphi -> BDS -> RS