Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как узнать , существует класс (окна) в текущем проекте или нет? / 7 сообщений из 7, страница 1 из 1
14.07.2004, 10:36
    #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
14.07.2004, 10:51
    #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
14.07.2004, 17:56
    #32604661
Вовик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать , существует класс (окна) в текущем проекте или нет?
Попробую , но ведь по-умолчанию должны пониматься все библиотеки текущего
приложения , а другие я пока не использую...
...
Рейтинг: 0 / 0
14.07.2004, 18:35
    #32604743
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать , существует класс (окна) в текущем проекте или нет?
В какой-то из версий PB были вроде глюки с ClassDefinition.

Закинь сюда минимальный пример (запакованную библиотеку), где повторяется ошибка, а мы скажем, что ты не так делаешь :))
...
Рейтинг: 0 / 0
14.07.2004, 18:41
    #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
14.07.2004, 19:02
    #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
14.07.2004, 19:36
    #32604812
Вовик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать , существует класс (окна) в текущем проекте или нет?
Пардон !

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

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


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