Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Узнать, был ли загружен доп.глобальный модуль ? (число прочтений - 4496 )
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Узнать, был ли загружен доп.глобальный модуль ?
20. Декабря 2010 :: 10:54
Печать  
Есть ли метод, способный проверить, был ли уже загружен доп.гл. модуль у формекса ?
А то в своей поделке (http://infostart.ru/public/79515/) пришлось сделать как-то через, одно место - просто грузя прокладку-модуль, получая номер загруженного модуля и удаляя его. Затем смотрел на номер доп. модуля - если он =2 , то типа не было еще загруженных доп. глобальников.
Только это не катит, если должны грузится др. гл. модули.
Так как проверить?




« Последняя редакция: 20. Декабря 2010 :: 12:00 - Eprst »  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #1 - 20. Декабря 2010 :: 12:55
Печать  
DWX не предлагать?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #2 - 20. Декабря 2010 :: 13:02
Печать  
Ну, хотелось бы так обойтись, но за неимением.. предлагай Улыбка

ЗЫ: вот блин проверить, есть ли переменная в обычном глобальнике можно, а в доп глобальнике - хрен.. Печаль
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #3 - 20. Декабря 2010 :: 14:01
Печать  
Чтобы это взлетело еще нужен класс DWX, я думаю ты найдешь.  Подмигивание

Кстати, я думаю, что возможно определить существование переменной в доп. глобальнике...не уверен конечно, но попробовать можно.
  

dopGM.ert ( 11 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #4 - 20. Декабря 2010 :: 14:23
Печать  
Ага, спасибо поковыряю.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #5 - 20. Декабря 2010 :: 18:14
Печать  
А код типа такого:
Код
Выбрать все
Попытка
  Строка(ПеременнаяИзДопГлобальника);
  Сообщить("ДопГлобальник загружен");
Исключение
  Сообщить("ДопГлобальник  НЕ загружен","!");
КонецПопытки 


не прокатит?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #6 - 21. Декабря 2010 :: 05:27
Печать  
Я в свое время делал класс История.
Так вот в нем как раз использовалась хитрая фича по загрузке класса из доп.глобальника, использовал спец.переменную в глобальнике Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #7 - 21. Декабря 2010 :: 05:35
Печать  
Все делалось через Выполнить ВМ и ловлю исключения.
Класс есть на проклабе или в сборке классов 1С++ в репозитарии.
ЗЫ упс, Выполнить - это в 8-ке Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #8 - 21. Декабря 2010 :: 06:16
Печать  
JohnyDeath писал(а) 20. Декабря 2010 :: 18:14:
А код типа такого:
Код
Выбрать все
Попытка
  Строка(ПеременнаяИзДопГлобальника);
  Сообщить("ДопГлобальник загружен");
Исключение
  Сообщить("ДопГлобальник  НЕ загружен","!");
КонецПопытки 


не прокатит?


Конечно нет, ошибка синтаксиса будет.

Для переменной из обычного глобальника, при условии, что переменной присваивается значение там, катит вот так:

Код
Выбрать все
глПеременная = глПеременная;
Если ТипЗначения(глПеременная) = 0 Тогда
    Сообщить("нема её в глобальнике");
КонецЕсли;
 


А вот с доп глобальником такой фокус не проходит.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #9 - 21. Декабря 2010 :: 06:18
Печать  
artbear писал(а) 21. Декабря 2010 :: 05:35:
Все делалось через Выполнить ВМ и ловлю исключения.
Класс есть на проклабе или в сборке классов 1С++ в репозитарии.
ЗЫ упс, Выполнить - это в 8-ке Улыбка


Ну хоть примерно, в чем идея не помнишь?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #10 - 21. Декабря 2010 :: 06:58
Печать  
Eprst писал(а) 21. Декабря 2010 :: 06:16:
JohnyDeath писал(а) 20. Декабря 2010 :: 18:14:
А код типа такого:
Код
Выбрать все
Попытка
  Строка(ПеременнаяИзДопГлобальника);
  Сообщить("ДопГлобальник загружен");
Исключение
  Сообщить("ДопГлобальник  НЕ загружен","!");
КонецПопытки 


не прокатит?


Конечно нет, ошибка синтаксиса будет.

А так:
Код
Выбрать все
Если 1=0 Тогда
  ПеременнаяИзДопГлобальника = 0;
КонецЕсли;
Попытка
  Строка(ПеременнаяИзДопГлобальника);
  Сообщить("ДопГлобальник загружен");
Исключение
  Сообщить("ДопГлобальник  НЕ загружен","!");
КонецПопытки 

  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #11 - 21. Декабря 2010 :: 07:39
Печать  
Пишешь в ВМ текст типа "л = НужнаяПеременная;", компилируешь его.
Если есть ошибка компиляции, то переменной нету.
если нет ошибки, переменная есть.
Как-то так Улыбка
ЗЫ правда, не различишь обычный ГМ и доп.ГМ, но это и не нужно.
ЗЗЫ фишка именно в компиляции, а не выполнении ВМ Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #12 - 21. Декабря 2010 :: 09:42
Печать  
artbear писал(а) 21. Декабря 2010 :: 07:39:
Пишешь в ВМ текст типа "л = НужнаяПеременная;", компилируешь его.
Если есть ошибка компиляции, то переменной нету.
если нет ошибки, переменная есть.
Как-то так Улыбка
ЗЫ правда, не различишь обычный ГМ и доп.ГМ, но это и не нужно.
ЗЗЫ фишка именно в компиляции, а не выполнении ВМ Улыбка


О! Супер, взлетело !
Улыбка)
Че-то я сам не допёр, хотя видел где-то обсуждение через ВМ делать..

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Узнать, был ли загружен доп.глобальный модуль ?
Ответ #13 - 21. Декабря 2010 :: 09:50
Печать  
JohnyDeath писал(а) 21. Декабря 2010 :: 06:58:
А так:
Код
Выбрать все
Если 1=0 Тогда
  ПеременнаяИзДопГлобальника = 0;
КонецЕсли;
Попытка
  Строка(ПеременнаяИзДопГлобальника);
  Сообщить("ДопГлобальник загружен");
Исключение
  Сообщить("ДопГлобальник  НЕ загружен","!");
КонецПопытки 



А так всегда будет "ДопГлобальник загружен"
что тоже не катит..
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать