powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка при создании экземпляра класса в форме
7 сообщений из 7, страница 1 из 1
Ошибка при создании экземпляра класса в форме
    #33710458
Ефим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была готовая форма с PageFrame1.
Я хочу, чтобы объекты страницы создавались при ее активизации.

Создал класс pg_kl – набор объектов с нужной страницы с заданными свойствами, методами, событиями.

Сами объекты со страницы удалил.

На Activate Page2 поместил код:


SET CLASSLIB TO pg_kl

ThisForm.PageFrame1.Page2.addobject("cont1","pg_kl")
ThisForm.PageFrame1.Page2.refresh
ThisForm.PageFrame1.Page2.cont1.visible=.t.


Addobject() выдает ошибку.
Ругается на то, что не существует объект PageFrame1.

Подскажите, что может быть не так?
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710487
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. На Activate ничего типа addobject лучше не вешать - событие может срабатывть не одни раз. Для этого удобнее событие INIT
2. На основе каого базового класса создан класс pg_kl ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710631
Ефим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, может я чего-то не понимаю…
Выделил все объекты, какие были на странице и сохранил их как класс (Optiongroup, PageFrame со всеми своими grid, combo и т.д. ).

На инит создание класса делать не хочу, т.к. все заварилось именно из-за того, что форма загружается долго. Хочу, чтобы страницы загружались по мере их активизации.
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710670
Ефим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А скажите, как потом обращаться к объектам этого класса?
У меня на Activate страницы на самом деле что-то вроде:


SET CLASSLIB TO pg_kl additive

ThisForm.PageFrame1.Page2.addobject("cont1","pg_kl")
ThisForm.PageFrame1.Page2.refresh
ThisForm.PageFrame1.Page2.cont1.visible=.t.


ThisForm.PageFrame1.Page2.Forecolor=rgb(0,0,255)
ThisForm.PageFrame1.Page2.FontBold=.t.
ThisForm.PageFrame1.Page2.cont1.Optiongroup1.Value=ty.tip_kl


Когда убираешь три последние строчки, то вроде все нормально…

Спасибо.
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710718
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откройте библиотеку классов и гляньте какой класс вашего pg_kl?
Если была выбрана Page, то боюсь, что у вас класс получился базового класса Form :)
С уважением, Алексей.
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710780
Ефим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BaseClass - Container
...
Рейтинг: 0 / 0
Ошибка при создании экземпляра класса в форме
    #33710850
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда все должно работать.
Если хотите оставить в Activate, то проверяете наличия объета cont1 переда его созданием.
А что сейчас не работает?
С уважением, Алексей
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка при создании экземпляра класса в форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]