![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где задаётся порядок создания компонент ? [D7, XP]
b/@. © (2009-05-28 15:28:00)Добрый день.
Подскажите пожалуйста, в каком файле или каким способом задаётся порядок создания компонент на форме ?
Для невизуальных видимо так: RMB на форме > Creation order, а для визуальных где ? И как задать свой порядок ?
Игорь Шевченко (2009-06-01 13:16:00) [1]
> Переместить то можно, но при первом же сохранении среда
> всё-равно переместит невизуальные в конец dfm.
Среда - может быть. Я руками перемещаю, если такая блажь в голову придет. Потом стараюсь найти ошибку, чтобы порядок, устанавливаемый средой не влиял.
b/@. (2009-06-01 12:35:00) [2]
> Игорь Шевченко © (29.05.09 16:34) [28]
> Нюансов не существует. Если ты переместишь в dfm невизуальные компоненты в самое начало, они будут создаваться перед визуальными
Какой смысл мне вас обманывать ?
Переместить то можно, но при первом же сохранении среда всё-равно переместит невизуальные в конец dfm.
> Юрий Зотов © (29.05.09 17:45) [29]
> Похоже, глючок имеется в одном (по крайней мере) из этих ActiveX...
> Создавайте их динамически, в OnCreate и в нужном порядке.
Я грешу больше на второй, он разрабатывался у нас как плагин для IE. И, насколько я знаю, использует для отрисовки OpenGL. Наверное ему не нравиться встроенная видеокарта и её драйвер.
А сделать его самым последним хотелось, чтобы другие контролы успели нормально создаться.
Создавать в OnCreate рассматриваю скорее как резервный вариант.
Юрий Зотов (2009-05-29 17:45:00) [3]> b/@
Похоже, глючок имеется в одном (по крайней мере) из этих ActiveX. При грамотном исполнении внешние ссылки компонента разрешаются в Loaded, а там, похоже, такого нет.
Создавайте их динамически, в OnCreate и в нужном порядке.
Игорь Шевченко (2009-05-29 16:34:00) [4]
> Это я понял еще вчера - только с одним ньюансом, который
> я описал еще в [6].
Нюансов не существует. Если ты переместишь в dfm невизуальные компоненты в самое начало, они будут создаваться перед визуальными
b/@. (2009-05-29 16:29:00) [5]
> Игорь Шевченко © (29.05.09 16:22) [26]
> Порядок создания компонент определяется их порядком в dfm.
> И все.
Это я понял еще вчера - только с одним ньюансом, который я описал еще в [6].
Игорь Шевченко (2009-05-29 16:22:00) [6]Порядок создания компонент определяется их порядком в dfm.
И все.
b/@. (2009-05-29 16:17:00) [7]
> Ega23 © (29.05.09 16:01) [23]
> Ты код смотрел? Или "многабукф" увидел?
Вы вопрос внимательно прочитали ?
Ega23 (2009-05-29 16:03:00) [8]Если по прежнему не понимаешь: ручками, всё ручками. Любой порядок.
Ega23 (2009-05-29 16:01:00) [9]
> А как можно ?
Ты код смотрел? Или "многабукф" увидел?
b/@. (2009-05-29 15:51:00) [10]
> Ega23 © (29.05.09 15:46) [21]
> > почему создание невизуальных компонент нельзя задать вперемешку
> > с визуальными.
> Кто тебе сказал, что нельзя?
А как можно ?
В этом и состоял мой вопрос - Где задаётся порядок создания компонент ?
Конструктивного ответа от вас я не услышал - только лишь какие-то непонятные нападки...
Ega23 (2009-05-29 15:46:00) [11]
> почему создание невизуальных компонент нельзя задать вперемешку
> с визуальными.
Кто тебе сказал, что нельзя?
b/@. (2009-05-29 15:44:00) [12]
> Ega23 © (29.05.09 15:35) [18]
> > источником проблем служит сама невозможность задать порядок
> > создания компонент в произвольном порядке. Т.е. накладывается
> > еще одно из ограничений в разработке.
> Твои слова?
Слова мои.
И я действительно не понимаю, почему создание невизуальных компонент нельзя задать вперемешку с визуальными. Среда упорно помещает их создание в конец.
Игорь Шевченко (2009-05-29 15:38:00) [13]
> Кто тебе такую фигню сказал?
Как ты думаешь, зачем придумали метод TComponent.Loaded ?
Ega23 (2009-05-29 15:35:00) [14]
> источником проблем служит сама невозможностьзадать порядок
> создания компонент в произвольном порядке. Т.е. накладывается
> еще одно из ограничений в разработке.
Твои слова?
b/@. (2009-05-29 15:32:00) [15]
> Ega23 © (29.05.09 15:30) [16]
> Что непонятно? Что код делает?
Что вы хотите сказать этим куском кода ?Слово фигнюя понял...
Ega23 (2009-05-29 15:30:00) [16]
> Я вас не понимаю
Что непонятно? Что код делает?
b/@. (2009-05-29 15:21:00) [17]
> Ega23 © (29.05.09 14:59) [13]
> Кто тебе такую фигню сказал?
Я вас не понимаю :( Что вы хотите сказать этим куском кода ?
Ega23 (2009-05-29 15:06:00) [18]
type
TMemoForm = class (TForm)
private
procedure OnbtnOKClick (Sender : TObject);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
Memo : TMemo;
btnOK : TButton;
btnCancel : TButton;
pnButtons : TPanel;
end;
constructor TMemoForm.Create(AOwner: TComponent);
begin
inherited Create;
pnButtons := TPanel.Create(Self);
pnButtons.Parent := Self;
pnButtons.Height := 30;
pnButtons.Align := alBottom;
Memo := TMemo.Create(Self);
Memo.Parent := Self;
Memo.Align := alClient;
btnOK := TButton.Create(Self);
btnOK.Parent := pnButtons;
btnOK.Caption := 'OK';
btnOK.OnClick := OnbtnOKClick;
......
end;
Ega23 (2009-05-29 14:59:00) [19]
> Но потенциальным источником проблем служит сама невозможность
> задать порядок создания компонент в произвольном порядке.
> Т.е. накладывается еще одно из ограничений в разработке.
>
Кто тебе такую фигню сказал?
b/@. (2009-05-29 14:55:00) [20]
> Amoeba © (29.05.09 00:26) [7]
> > вроде TOpenDialog.
> Неужели такое создает проблемы?
В моём случае проблем не создаёт. Т.к. из невизуальных создаётся всего-лишь TOpenDialog, TActionList, TTimer и TApplicationEvents.
Но потенциальным источником проблем служит сама невозможность задать порядок создания компонент в произвольном порядке. Т.е. накладывается еще одноиз ограничений в разработке.