Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Помогите с загрузкой dll (число прочтений - 21416 )
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #30 - 09. Декабря 2013 :: 14:43
Печать  
Рано обрадывался... Улыбка
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Помогите с загрузкой dll
Ответ #31 - 09. Декабря 2013 :: 15:23
Печать  
Alex2013 писал(а) 09. Декабря 2013 :: 14:22:
все пробито уже, работает до дешифровки! Суть какая  я в конце глобальника пишу одной строчкой ОткрытьФорму() - внешнего  отчета,  т.е. код который срабатывает до процедуры ПриНачалеРаботы который подгружает нужные dll и кстати заметил, что в этом случаи



Добавление в конец МД этой строки, думаю, можно сделать скриптом. Вопрос - на сколько это актуально.
  
Наверх
 
IP записан
 
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #32 - 09. Декабря 2013 :: 15:47
Печать  
может приходиться, только как скрипт это сделать на автодобавление в глобальник?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Помогите с загрузкой dll
Ответ #33 - 09. Декабря 2013 :: 15:57
Печать  
Alex2013 писал(а) 09. Декабря 2013 :: 09:31:
Дело в том, что править то ни надо зашифр. модули, отчет мой использует свежие dll, а в глобальнике прописана загрузка старой 1С++ когда она вместе с Формексам, если заменить старую dll, на свежую  то надо догрузить Формекс просто. Мой отчет могут использовать, а могут не запустить, если догружать, уже в моем отчете формекс, так что это вариант не катит, вот подумал может препроцессор поможет когда загружается 1С++, подгрузить Формекс и править ничего ни надо. Вообще идеальный вариант подменить dll которая прописана в глоб. модуле на другую dll, которая подгрузить 1С++ и Формекс, но опыта разработки внеш. компонент не имею Печаль  


Так по моему тогда все получается.
1с++ замени на новую,
а при  первом открытии любого твоего отчета грузи FormEx.

Признак что грузишь первый раз
что объекта Сервис ( из FormEx )  не существует.
  
Наверх
 
IP записан
 
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #34 - 09. Декабря 2013 :: 16:13
Печать  
Z1, дело в том что если мой отчет то не запустят...., Formex то не загрузится, а его методы использует конфигурации! При запуске 1С должно загрузиться и 1С++ и Formex, сама конфа их использует методы, но для работы конфы достаточно старой 1С++ когда она была в одной dll с Formex, вот загрузка этой одной dll и зашито в глобальнике! А чтоб мой функционал заработал нужен свежий 1С++
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Помогите с загрузкой dll
Ответ #35 - 09. Декабря 2013 :: 16:39
Печать  
(Alex2013)
кто тебе сказал что она должна грузиться именно при начале работы системы ?
У меня по описаному мной способом грузиться Йоксел.
Т.е. если отчеты (в которых работает  Йоксел )
приоткрытии грузят сам Йоксел.
Если пользователь не вызывает отчетов где есть Йоксел
то эта компонента и не загружается.
В таком подходе есть и плюс. Не подгружается то что не используется.
Каких то падений, неудобст от такого варианта у себя не видел.

Как бы минус один если так подгружать несколько разных библиотек то может быть разный порядок загруженных библиотек и это тоже может приводить к ошибкам но пока у тебя идет речь только об одной такой библиотеке.
  
Наверх
 
IP записан
 
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #36 - 09. Декабря 2013 :: 17:03
Печать  
Z1, мы с тобой про разные вещи говорим, я понимаю, что компоненты можно грузить по мере необходимости, ты наверно не с самого начало тему читал. Есть конфигурация  одного франчайза, она зашифрована в ней загружается в глобал. процедуре ПриНачРаб
Storage.dll - Это переименованная 1CPP.dll старой версии 1.7. 0. 4 когда она была вместе с Formex в одной dll, потом в новых версиях 1С++ -  Formex вышел из состава 1С++. Мой дополнительный функционал требует свежие версии 1С++ и Formex когда они в разных dll! Если Storage.dll заменить на свежую версию 1С++, то приходиться изменять глобальный догружать Formex, либо наоборот (сама конфа использует и 1С++ и Formex, если они не загрузятся вместе в глобальнике конфа правильно работать не будет ).  мне хотелось просто, чтобы не изменяя глобальный модуль, загрузить вместо одной dll две.
Видел это так:
1) создание отдельной dll, которая просто подгрузит 1С++ и Formex нужный версий, задать имя ей Storage.dll. -> ни каких правок конфигурации ни надо.
Либо:
2) Если это возможно Storage.dll - заменить на свежую версию 1С++ (переименовав 1С++ в Storage.dll и заменив в каталоге ИБ), и используя препроцессор встроенный в 1С++, подгрузить Formex например из defcls -> ни каких правок конфигурации ни надо.
  
Наверх
 
IP записан
 
vladimirmir2012
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 426
Зарегистрирован: 18. Мая 2011
Re: Помогите с загрузкой dll
Ответ #37 - 09. Декабря 2013 :: 17:23
Печать  
.
« Последняя редакция: 03. Июня 2014 :: 15:23 - vladimirmir2012 »  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с загрузкой dll
Ответ #38 - 10. Декабря 2013 :: 04:52
Печать  
Какой-то хней маешься. Если в глобальнике в зашифрованном написано
ЗагрузитьВнешнююКомпоненту("storage.dll") и она нигде в зашифрованных кусках не используется, то достаточно просту удалить storage.dll и ВСЁ..

В своей поделке загружать нужные ВК в случае необходимости по условию их загрузки и привет.
О чем собственно, еще раньше писал.
  
Наверх
 
IP записан
 
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #39 - 10. Декабря 2013 :: 05:54
Печать  
Eprst писал(а) 10. Декабря 2013 :: 04:52:
Какой-то хней маешься. Если в глобальнике в зашифрованном написано
ЗагрузитьВнешнююКомпоненту("storage.dll") и она нигде в зашифрованных кусках не используется, то достаточно просту удалить storage.dll и ВСЁ..

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

Я писал, что минимально функционал используется самой конфой ( 1С++  и Formex в Storage.dll) если не загрузить 1С++  и Formex сама конфа правельно работать не будет
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с загрузкой dll
Ответ #40 - 10. Декабря 2013 :: 05:55
Печать  
Где ты это писал ?
Я тебя об этом изначально спрашивал - ты ответил, что в зашифрованных модулях нет использования библиотек.

А так, смотришь стек вызовов, смотришь, какая обработка типа обновлениеИБ/получениеКурса/еще всякая муть с типовых стартует в ПриНачалеРаботыСистемы .. и туда и пихаешь загрузку ВК.

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



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Помогите с загрузкой dll
Ответ #41 - 10. Декабря 2013 :: 06:30
Печать  
Eprst писал(а) 10. Декабря 2013 :: 05:55:
А так, смотришь стек вызовов, смотришь, какая обработка типа обновлениеИБ/получениеКурса/еще всякая муть с типовых стартует в ПриНачалеРаботыСистемы .. и туда и пихаешь загрузку ВК.


А это реально увидеть в зашифрованном варианте?

Конфа все равно на поддержке, тогда какая разница, куда дописывать Загрузку 1С++?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите с загрузкой dll
Ответ #42 - 10. Декабря 2013 :: 06:36
Печать  
chessman писал(а) 10. Декабря 2013 :: 06:30:
А это реально увидеть в зашифрованном варианте?

Конфа все равно на поддержке, тогда какая разница, куда дописывать Загрузку 1С++?


А хз, я не проверял..

ЗЫ:
Если на поддержке, тогда не вижу вообще проблем - пусть тот, кто поддерживает и внесёт правку сам в зашифрованный модуль.
Какая-то проблема на пустом месте.
  
Наверх
 
IP записан
 
Alex2013
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Апреля 2013
Re: Помогите с загрузкой dll
Ответ #43 - 10. Декабря 2013 :: 07:08
Печать  
Eprst писал(а) 10. Декабря 2013 :: 05:55:
Где ты это писал ?
Я тебя об этом изначально спрашивал - ты ответил, что в зашифрованных модулях нет использования библиотек.

А так, смотришь стек вызовов, смотришь, какая обработка типа обновлениеИБ/получениеКурса/еще всякая муть с типовых стартует в ПриНачалеРаботыСистемы .. и туда и пихаешь загрузку ВК.

ЗЫ: а таких поделок там вагон  - новости, реклама / информационные блоки и т.д..

Значит не правильно поняли друг друга, старая 1С++ и Formex используется минимально самой конфой (не знаю зачем они вообще ее прикрутили, там используется один класс на четыре строки кода  и ПолучитьАтрибут() - Formexa) и если к примеру не загрузить Storage.dll, а загрузить свежие 1С++ и Формекс все работать она будет нормально, совместимость полная, поэтому код править под свежие dll ни надо. Поэтому и думал как если в зашифр. глобальнике написано ЗагрузитьВнешнююКомпоненту("storage.dll") подсунуть загрузку двух dll.

Все обработки которые запускаются ПриНачалеРаботы они не внешние, а в составе конфы, изначально вопрос стоял как это сделать без изменения конфы
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Помогите с загрузкой dll
Ответ #44 - 10. Декабря 2013 :: 07:16
Печать  
Eprst писал(а) 10. Декабря 2013 :: 06:36:
А хз, я не проверял..


На сколько помню, вряд ли что-то можно увидеть.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать