Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизГде задаётся порядок создания компонент ? Найти похожие ветки
← →
b/@. © (2009-05-28 15:28) [0]Добрый день.
Подскажите пожалуйста, в каком файле или каким способом задаётся порядок создания компонент на форме ?
Для невизуальных видимо так: RMB на форме > Creation order, а для визуальных где ? И как задать свой порядок ?
← →
Игорь Шевченко © (2009-05-28 15:35) [1]
> в каком файле или каким способом задаётся порядок создания
> компонент на форме
в dfm
> И как задать свой порядок ?
зачем ?
← →
Ega23 © (2009-05-28 15:38) [2]
> И как задать свой порядок ?
А что тебе это даст???
← →
b/@. © (2009-05-28 15:48) [3]
> зачем ?
У меня на форме используются два разных ActiveX-компонента, и почему-то при создании формы выскакивает AV, но когда их ставишь по отдельности - то никаких проблем.
Хочу попробовать изменить порядок создания компонент.
← →
Ega23 © (2009-05-28 16:05) [4]
> Хочу попробовать изменить порядок создания компонент.
Может всё-таки имеет смысл найти причину?
← →
Игорь Шевченко © (2009-05-28 16:13) [5]
> Хочу попробовать изменить порядок создания компонент.
попробуй в dfm их переместить
← →
b/@. © (2009-05-28 17:37) [6]Попробовал переместить их в dfm в конец, вроде помогло.
Но обнаружил особенность, что в самый конец переместить не получилось. Delphi упорно помещает в конце dfm невизуальные компоненты вроде TOpenDialog.
Я так понимаю, что самому регулировать порядок можно лишь для визуальных компонентов...
← →
Amoeba © (2009-05-29 00:26) [7]
> Delphi упорно помещает в конце dfm невизуальные компоненты
> вроде TOpenDialog.
Неужели такое создает проблемы?
← →
Германн © (2009-05-29 01:16) [8]
> Amoeba © (29.05.09 00:26) [7]
>
>
> > Delphi упорно помещает в конце dfm невизуальные компоненты
> > вроде TOpenDialog.
>
> Неужели такое создает проблемы?
Запросто.
← →
Amoeba © (2009-05-29 01:38) [9]
> Германн © (29.05.09 01:16) [8]
Это смотря какие. Если вроде TOpenDialog, то пофигу.
← →
KilkennyCat © (2009-05-29 03:56) [10]а оптимизация компиляции не может влиять?
← →
Ega23 © (2009-05-29 09:56) [11]
> Запросто.
"НЕ ВЕРЮ!" (с)
← →
b/@. © (2009-05-29 14:55) [12]
> Amoeba © (29.05.09 00:26) [7]
> > вроде TOpenDialog.
> Неужели такое создает проблемы?
В моём случае проблем не создаёт. Т.к. из невизуальных создаётся всего-лишь TOpenDialog, TActionList, TTimer и TApplicationEvents.
Но потенциальным источником проблем служит сама невозможность задать порядок создания компонент в произвольном порядке. Т.е. накладывается еще одно из ограничений в разработке.
← →
Ega23 © (2009-05-29 14:59) [13]
> Но потенциальным источником проблем служит сама невозможность
> задать порядок создания компонент в произвольном порядке.
> Т.е. накладывается еще одно из ограничений в разработке.
>
Кто тебе такую фигню сказал?
← →
Ega23 © (2009-05-29 15:06) [14]
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;
← →
b/@. © (2009-05-29 15:21) [15]
> Ega23 © (29.05.09 14:59) [13]
> Кто тебе такую фигню сказал?
Я вас не понимаю :( Что вы хотите сказать этим куском кода ?
← →
Ega23 © (2009-05-29 15:30) [16]
> Я вас не понимаю
Что непонятно? Что код делает?
← →
b/@. © (2009-05-29 15:32) [17]
> Ega23 © (29.05.09 15:30) [16]
> Что непонятно? Что код делает?
Что вы хотите сказать этим куском кода ? Слово фигню я понял...
← →
Ega23 © (2009-05-29 15:35) [18]
> источником проблем служит сама невозможность задать порядок
> создания компонент в произвольном порядке. Т.е. накладывается
> еще одно из ограничений в разработке.
Твои слова?
← →
Игорь Шевченко © (2009-05-29 15:38) [19]
> Кто тебе такую фигню сказал?
Как ты думаешь, зачем придумали метод TComponent.Loaded ?
← →
b/@. © (2009-05-29 15:44) [20]
> Ega23 © (29.05.09 15:35) [18]
> > источником проблем служит сама невозможность задать порядок
> > создания компонент в произвольном порядке. Т.е. накладывается
> > еще одно из ограничений в разработке.
> Твои слова?
Слова мои.
И я действительно не понимаю, почему создание невизуальных компонент нельзя задать вперемешку с визуальными. Среда упорно помещает их создание в конец.
← →
Ega23 © (2009-05-29 15:46) [21]
> почему создание невизуальных компонент нельзя задать вперемешку
> с визуальными.
Кто тебе сказал, что нельзя?
← →
b/@. © (2009-05-29 15:51) [22]
> Ega23 © (29.05.09 15:46) [21]
> > почему создание невизуальных компонент нельзя задать вперемешку
> > с визуальными.
> Кто тебе сказал, что нельзя?
А как можно ?
В этом и состоял мой вопрос - Где задаётся порядок создания компонент ?
Конструктивного ответа от вас я не услышал - только лишь какие-то непонятные нападки...
← →
Ega23 © (2009-05-29 16:01) [23]
> А как можно ?
Ты код смотрел? Или "многабукф" увидел?
← →
Ega23 © (2009-05-29 16:03) [24]Если по прежнему не понимаешь: ручками, всё ручками. Любой порядок.
← →
b/@. © (2009-05-29 16:17) [25]
> Ega23 © (29.05.09 16:01) [23]
> Ты код смотрел? Или "многабукф" увидел?
Вы вопрос внимательно прочитали ?
← →
Игорь Шевченко © (2009-05-29 16:22) [26]Порядок создания компонент определяется их порядком в dfm.
И все.
← →
b/@. © (2009-05-29 16:29) [27]
> Игорь Шевченко © (29.05.09 16:22) [26]
> Порядок создания компонент определяется их порядком в dfm.
> И все.
Это я понял еще вчера - только с одним ньюансом, который я описал еще в [6].
← →
Игорь Шевченко © (2009-05-29 16:34) [28]
> Это я понял еще вчера - только с одним ньюансом, который
> я описал еще в [6].
Нюансов не существует. Если ты переместишь в dfm невизуальные компоненты в самое начало, они будут создаваться перед визуальными
← →
Юрий Зотов © (2009-05-29 17:45) [29]> b/@
Похоже, глючок имеется в одном (по крайней мере) из этих ActiveX. При грамотном исполнении внешние ссылки компонента разрешаются в Loaded, а там, похоже, такого нет.
Создавайте их динамически, в OnCreate и в нужном порядке.
← →
b/@. © (2009-06-01 12:35) [30]
> Игорь Шевченко © (29.05.09 16:34) [28]
> Нюансов не существует. Если ты переместишь в dfm невизуальные компоненты в самое начало, они будут создаваться перед визуальными
Какой смысл мне вас обманывать ?
Переместить то можно, но при первом же сохранении среда всё-равно переместит невизуальные в конец dfm.
> Юрий Зотов © (29.05.09 17:45) [29]
> Похоже, глючок имеется в одном (по крайней мере) из этих ActiveX...
> Создавайте их динамически, в OnCreate и в нужном порядке.
Я грешу больше на второй, он разрабатывался у нас как плагин для IE. И, насколько я знаю, использует для отрисовки OpenGL. Наверное ему не нравиться встроенная видеокарта и её драйвер.
А сделать его самым последним хотелось, чтобы другие контролы успели нормально создаться.
Создавать в OnCreate рассматриваю скорее как резервный вариант.
← →
Игорь Шевченко © (2009-06-01 13:16) [31]
> Переместить то можно, но при первом же сохранении среда
> всё-равно переместит невизуальные в конец dfm.
Среда - может быть. Я руками перемещаю, если такая блажь в голову придет. Потом стараюсь найти ошибку, чтобы порядок, устанавливаемый средой не влиял.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.007 c