|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
Смотрел кучу примеров... И так делают и этак... Думал что при AddObject если удалить родителя то и дитя умрет, а нет ... тогда в чем принципиально разница? Передавать параметры (this,thisform,) в случае с CreateObject не совсем хочется... А через AddObject можно через Parenta стукнуться к методам и свойствам родителям... Так вот у меня классы пытаюсь все делать через ADDOBJECT - длинная получается цепь... Это опасно? И еще как узнать есть ли такой-то метод у родителя... (В FoxClub был ответ, но FoxClub че-то недоступен...) Спасибо.. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2004, 08:24 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
PEMTSTATUS(this.parent,<Method,Event,Property>,5) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2004, 09:08 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
AddObject - это один из методов объекта - контейнера, позволяющий в процессе выполнения приложения добавлять в него новые управляющие элементы. CreateObject - это функция, позволяющая создавать новые объекты (кроме управляющих элементов - см. FoxHelp). Так что это совершенно разные вещи. > Думал что при AddObject если удалить родителя то и дитя умрет, а нет ... Что Вы имеете в виду? Все созданные при помощи метода AddObject управляющие элементы автоматически уничтожаются при уничтожении объекта-контейнера. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2004, 09:10 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
2 Вячеслав Клепинин >> кроме управляющих элементов Создавать можно. ss=CREATEOBJECT("TextBox") >> Все созданные при помощи метода AddObject управляющие элементы автоматически уничтожаются при уничтожении объекта-контейнера. При условии что на вложенные объекты нет внешних ссылок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2004, 13:47 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
to Андрей Давыдов > Создавать можно. ss=CREATEOBJECT("TextBox") Создадим глобальную переменную o_SS На форме разместим кнопку, в методе Click напишем код: Код: plaintext 1. 2. 3. 4. 5. 6.
После выполнения кода в упор не видим на форме никакого TextBox'a. Тем не менее можно посмотреть значения свойств созданного объекта, например, o_ss.Width. В то же время попытка посмотреть значение свойства o_ss.Name приводит к ошибке. Таким образом, объект действительно создаётся. но не как контрол в форме-контейнере, а как нечто самостоятельно живущее (???). Завершение формы происходит абсолютно нормально. Смотрим FoxHelp: Note that ClassName cannot be the Visual FoxPro OLE Container control base class. Теперь создадим контрол с использованием AddObject: Код: plaintext 1. 2. 3. 4. 5.
Всё ОК, контрол на форме. Завершаем форму - контрол благополучно уничтожается. Продолжим эксперимент. Создадим ссылку на этот контрол в глобальной переменной o_Text: Код: plaintext 1.
В TextBox'e появится текст. Если теперь попробовать завершить форму, то действительно это сделать не удастся, потому как существует внешняя ссылка на TextBox. Но! Уничтожение ссылки не приводит к уничтожению контрола, как это было бы с объектом, созданным функцией CreateObject. В то же время после уничтожения ссылки командой Release o_Text форма закрывается нормально. Вот и всё. Или я в чём-то не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2004, 14:25 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
2:Piva - спасибо. ****************** Нашел разницу - она в том что не во всех контролдах можно сделать ADDOBJECT... Увы... При нажатии на кнопку GRID не ADDOBJECT ... :( То есть теперь нужно думать когда и как использовать ADD и CREATE :( Раньше (без классов) каждый модуль мог запустить каждый другой модуль и я упирался всегда только на глубину вложенности DO... Теперь часть классов нужно использовать через ADDOBJECT, а часть через CREATEOBJECT... Я по-прежнему не могу врубиться когда мне легче станет от программирования в классах... Каждый отдельно работает, а начинаю связывать.... дохну ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2004, 12:15 |
|
Вопросы про CreateObject и Addobject
|
|||
---|---|---|---|
#18+
Вячеслав Клепинин, а можно спросить? вот у меня в таком же месте thisform.AddObject('Text1','TextBox') при внесении изменений в 'TextBox' (новые поля) AddObject их не видит под отладчиком. Хотя при формировании экзешника все красиво... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 16:03 |
|
|
start [/forum/topic.php?fid=41&fpage=40&tid=1582965]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 185ms |
0 / 0 |