powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как узнать , существует класс (окна) в текущем проекте или нет?
7 сообщений из 7, страница 1 из 1
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32603155
Фотография Вовик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый День !
Открываю окна с помощью событий , в которые передается название класса
окна . можно ли убедиться заранее , есть он (класс окна) в pbd или нет ?

Пробовал использовать метод , предложенный здесь :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ClassDefinition cd
String ls_class = "w_my_sheet"
cd = FindClassDefinition(ls_class )
If IsNull(cd) Then
  // raise error
Else
  window child
  OpenSheet(child, ls_class , gnv_app.Of_GetFrame() ,  0  , Layered!)

Но у меня почему-то этот скрипт всегда переходит по условию
IsNull(cd) , хотя окно в библиотеках присутствует. В чем тут проблема ?
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32603191
leyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Help
FindClassDefinition ( classname {, librarylist } )

Argument Description
classname The name of an object (also called a class or class definition) for which you want information
librarylist
(optional) An array of strings whose values are the fully qualified pathnames of PBLs. If you omit librarylist, FindClassDefinition searches the library list associated with the running application


Poprobuyte ukasat' "Library list"
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32604661
Фотография Вовик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую , но ведь по-умолчанию должны пониматься все библиотеки текущего
приложения , а другие я пока не использую...
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32604743
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В какой-то из версий PB были вроде глюки с ClassDefinition.

Закинь сюда минимальный пример (запакованную библиотеку), где повторяется ошибка, а мы скажем, что ты не так делаешь :))
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32604754
leyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Posmotrite opisanie funkcii "OpenSheet"

"
When you specify windowtype, the window object specified in windowtype must be the same data type as sheetrefvar (a data type includes data types inherited from it). The data type of sheetrefvar is usually window, from which all windows are inherited, but it can be any ancestor of windowtype. If it is not the same type, an execution error will occur.

PowerBuilder doesn't automatically copy objects that are dynamically referenced (through string variables) into your executable . To include the window object specified in windowtype in your application, list it in the resource (PBR) file that you use when you build the executable.
"

Chtobi izbavitsya ot etoy problemi prosto sdelayte gde-nibut v programme objaylenie peremennoy kagdogo iz vashich dinamicheskich klassov
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32604786
rcryo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leyka
PowerBuilder doesn't automatically copy objects that are dynamically referenced (through string variables) into your executable.

Вышесказанное относится только к сборке в один exe файл.

Есть такой способ проверки наличия окна, правда не в чистом виде
Код: plaintext
1.
2.
3.
4.
5.
6.
TRY
  window child
  OpenSheet(child, ls_class , gnv_app.Of_GetFrame() ,  0  , Layered!)
CATCH (Throwable t)
   MessageBox("Ошибка", "Нет такого окна")
END TRY
не в чистом виде, так как будет ругаться и в случае других ошибок уже в скриптах самого окна.
...
Рейтинг: 0 / 0
Как узнать , существует класс (окна) в текущем проекте или нет?
    #32604812
Фотография Вовик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон !

Сейчас стал проверять , а оно работает !!!

Извините , пожалуйста !
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как узнать , существует класс (окна) в текущем проекте или нет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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