Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1243785925
Сергей
2009-05-31 20:05
2009.07.26
Проблема с TTreeView


3-1224582415
Ega23
2008-10-21 13:46
2009.07.26
Что означает следующий exception:


15-1243312932
Palladin
2009-05-26 08:42
2009.07.26
Стандарты построения Web-интерфейса


4-1213253318
DJ Kondakov
2008-06-12 10:48
2009.07.26
Отследить выгрузку DLL-ки


2-1244021454
Егор
2009-06-03 13:30
2009.07.26
Указатель, ссылка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский