Вход | Регистрация
    1  2  3  4  5  6  7  8  9   
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Добавил пару методов в FormEx

v7: Добавил пару методов в FormEx
Я
   АЛьФ
 
18.11.20 - 12:10
Понадобилось тут для работы добавить пару методов.

КопироватьОбластьТаблицы(<ТаблицаИсточник>,<СтрокаНачальная>,<КолонкаНачальная>,<СтрокаКонечная>,<КолонкаКонечная>,<ТаблицаПриемник>,<СтрокаНачальнаяПриемника>,<КолонкаНачальнаяПриемника>)
Назначение:
Метод для копирования области ячеек из одной таблицы в другую. Копируемые ячейки заменяют содержимое ячеек в таблице-приемнике.
Параметры:
ТаблицаИсточник - объект Таблица, из которого надо скопировать ячейки;
СтркаНачальная,КолонкаНачальная,СтрокаКонечная,КолонкаКонечная - координаты, задающие копируемую область ячеек;
ТаблицаПриемник - объект Таблица, в который надо скопировать ячейки;
СтрокаНачальнаяПриемника,КолонкаНачальнаяПриемника - координаты начальной ячейки области, куда надо поместить копируемые ячейки.

ОткрытьДвиженияОбъекта(<Документ>)
Назначение:
Открывает стандартное окно движений документа по регистрам. Аналогично действию ''Движения документа'' в контекстном меню журнала документов.
Параметры:
<Документ> - документ, движения которого надо показать.

Если кому интересно, сборку 2.0.5.152 качать, как обычно на formex.dorex.pro
   АЛьФ
 
301 - 08.12.20 - 14:16
2(300) Спасибо.
   Злопчинский
 
302 - 08.12.20 - 14:18
(299) .. и если вдруг принтер стоит не этикеточный, а а4 - то плохо. некритично, но мое чувство прекрасного бастует
   АЛьФ
 
303 - 09.12.20 - 09:35
Копанул моксель.
Самое очевидное решение - перехватить CSheetView::PaintText() и вызывать глобальную предопределенную процедуру для определения масштаба текста. В этом методе есть собственно текст, размер области, в которую текст надо вписать. Туда передается формат ячейки. Там можно определить для печати рисуется ячейка или для экрана.
Главный минус, который вижу - будет тормозить отрисовка и подготовка к печати, если излишне усложнить алгоритм в своей процедуре. Вплоть до полного зависона.
   АЛьФ
 
304 - 09.12.20 - 09:36
+(303) Ах, да. Там еще надо что-то придумать, чтобы определять надо этот текст масштабировать или нет. Но это, думаю, можно и через маркеры в тексте сделать.
   АЛьФ
 
305 - 09.12.20 - 09:45
+(303) Еще забавную фичу можно сделать - менять текст в ячейке в зависимости от того на экран идет отрисовка или на принтер.
   tgu82
 
306 - 09.12.20 - 09:54
(305) Скоро получится 7-ка на УФ такими темпами )
   Злопчинский
 
307 - 09.12.20 - 09:55
(306) давно пора. а то этот снеговиктормоз
   Mikeware
 
308 - 09.12.20 - 09:57
(305) прям мечта махинаторов...
(306) Невозможного нет.
   tgu82
 
309 - 09.12.20 - 10:03
(307) Да если через веб-сервер - то летает просто 8-ка
   АЛьФ
 
310 - 09.12.20 - 10:04
2(306) Единственная сложность, которую вижу - согласованность Конфигуратора и Предприятия. Теряется универсальность платформы разработки.
   mishaPH
 
Модератор
311 - 09.12.20 - 13:10
(265) короче. помогла конструкция
            глМожноработатьОбработчикуПроцессов = 0;
            глСканерПосылкаДанных(0);            
            Если ВвестиЧисло(СуммаБонусаЗапросА,"Введите сумму бонусов ",10,2,60) = 0 Тогда
                СуммаБонусаЗапросА = 0;
            КонецЕсли;
            глСканерПосылкаДанных(1);            
            глМожноработатьОбработчикуПроцессов = 1;

глМожноработатьОбработчикуПроцессов  соит в обработке ожидания. ее тоже отключаем т.к. в ней много чего запускается.
   victuan1
 
312 - 09.12.20 - 14:15
(311) А разве обработка ожидания сработает если висит системное модальное окно ВвестиЧисло?
   mishaPH
 
Модератор
313 - 09.12.20 - 14:17
(312) вот в том проблема. что срабатывает и обработка ожидания когда например пометка списка значений и внешее событие
   Volodja
 
314 - 09.12.20 - 14:18
(0) Некорректно отрабатывает УдалитьОбластьТаблицы()
Если удаляемые строки в окне видны, то все ок, удаляет.
Но если их часть не видна, то 1с отправляется в долгое плавание.
   АЛьФ
 
315 - 09.12.20 - 14:23
2(314) Можешь набросать тестовую обработку?
   Volodja
 
316 - 09.12.20 - 16:53
(315) Разобрался.
Если я вызываю ОбработкуЯчейкиТаблицы()
и в ней удаляю строки, в которую  входит ячейка-инициатор, тогда 1с зависает.
Вообще, можно это подлечить?
   Volodja
 
317 - 09.12.20 - 16:53
(315) нужна тестовая обработка?
   Volodja
 
318 - 09.12.20 - 16:57
(315) Удаляет то все корректно. Видимо 1С не ожидает что ячейки-инициатора уже нет и валится
   АЛьФ
 
319 - 09.12.20 - 18:38
2(316) Боюсь, что этого не починить. Но попробую глянуть.
   Volodja
 
320 - 09.12.20 - 19:18
Еще одна просьба:
После использования метода    Сервис.КопироватьОбластьТаблицы(ТабДиаграмма,1,1,ТабДиаграмма.ВысотаТаблицы(),ТабДиаграмма.ШиринаТаблицы(),ТабОстатки,ТабОстатки.ВысотаТаблицы()+1,1);

В таблице они сразу не отображаются, пока не выделишь область курсором
я пока так выкручиваюсь:
    _Окна=СоздатьОбъект("Окна");
    _Ширина=2;
    _Окна.РазмерОкна(,_Ширина);
    _Окна.РазмерОкна(,_Ширина);

Но это некрасивый костыль. Окно, особенно в терминале, видно как меняет размер
   АЛьФ
 
321 - 10.12.20 - 08:52
2(316)(320) Хм... Не подтверждается у меня. И из обработки ячейки таблицы не валится, и при копировании сразу изменения отображаются. Нужна тестовая обработка, на которой явно будут воспроизводится глюки.
И проверь, плиз, что грузится последняя версия FormEx.
   Volodja
 
322 - 10.12.20 - 10:03
formex 2.0.5.154 у меня.
А как здесь приложить файл?
   Volodja
 
323 - 10.12.20 - 10:06
Обработка, в которой возникает зависание.
Щелкни по любому столбцу диаграммы
https://cloud.mail.ru/public/3f8u/4yfEfp3KH
   АЛьФ
 
324 - 10.12.20 - 10:08
2(322) Рекомендую скачать текущую версию.
   АЛьФ
 
325 - 10.12.20 - 10:08
2(323) Спасибо, гляну.
   Volodja
 
326 - 10.12.20 - 10:10
А проблема с отрисовкой  может быть из-за ОС
У меня еще win 7 32х
   АЛьФ
 
327 - 10.12.20 - 10:13
При щелчке по столбцу заходит в условие с выводом "Величина данного значения", а там нет удаления строк. Сейчас попробую переделать сам.
(326) Может быть поможет Таблица.Показать()
   АЛьФ
 
328 - 10.12.20 - 10:16
+(327) Не, ни фига. Удаляет строки без зависания. Может быть это глюк уже исправлен. Как и отрисовка. Проверь у себя на новой версии компоненты.
   Volodja
 
329 - 10.12.20 - 10:22
А это с проблемой перерисовки.
сначала нажми по ячейке "Показать диаграмму"
https://cloud.mail.ru/public/58CB/2UDRfPTD9
   АЛьФ
 
330 - 10.12.20 - 10:24
2(329) И тут у меня нормально отрабатывает.
 
 Рекламное место пустует
   АЛьФ
 
331 - 10.12.20 - 10:43
Ребята, может кто-нибудь еще погоняет эти обработки?
   Volodja
 
332 - 10.12.20 - 10:47
На win 2008 server также зависает.
Отрисовка на 164 нормально
   Mikeware
 
333 - 10.12.20 - 10:49
(331) если только вечером дома.
Надо на какой-то специфической конфигурации (имею ввиду релиз математики/набор компонент/ось) ?
   Volodja
 
334 - 10.12.20 - 10:51
Нет Formex только нужен объект "сервис"
   АЛьФ
 
335 - 10.12.20 - 10:57
2(332) В виндовом журнале событий есть какая-нибудь ошибка?
   Volodja
 
336 - 10.12.20 - 11:05
Только Application Hang
Но это только после того, когда принудительно останавливаю процесс
   АЛьФ
 
337 - 10.12.20 - 11:37
2(336) Если после удаления строк поставить предупреждение, оно выводится? В ккой момнт вообще происходит зависание - в методе FormEx или уже после выхода из обработки ячейки таблицы?
   Volodja
 
338 - 10.12.20 - 11:54
Видимо перед выходом из обработки ячейки. Я проверял УдалитьСтроки отрабатывют отлично. Сообщение после удаления выходит. И тут же зависает.
   Volodja
 
339 - 10.12.20 - 11:56
Я уже переделал у себя, чтобы при удалении строк не удалялись строки ячейки-инициатора. Работает отлично.
   АЛьФ
 
340 - 10.12.20 - 12:15
2(339) Не должно так быть. Даже в штатном режиме в обработке ячейки таблицы можно эту таблицу перестроить и ячейка-инициализатор будет удалена. Но ведь это не приводит к зависанию. Значит дело в чем-то таком, что в 1С не предусмотрено. Либо у меня недорабатываются какие-то текущие установки таблицы.
Надо отловить.
   Злопчинский
 
341 - 10.12.20 - 14:10
(323) ничего не зависает. выходит предупреждение "Величина данного значения:"
вин64 домашняя
   Злопчинский
 
342 - 10.12.20 - 14:12
(329) тоже все норм отрабатывает. зависаний нет.
   Злопчинский
 
343 - 10.12.20 - 14:12
Formex - 164 релиз
   smitti911
 
344 - 10.12.20 - 14:27
(341) у меня тоже все ок
   Volodja
 
345 - 10.12.20 - 14:31
(342) У вас я понял уже появилась и вторая диаграмма.
У меня уже зависает после вывода предупреждения "Щелкнули по диаграмме"
Вторая диаграмма не появляется
   Volodja
 
346 - 10.12.20 - 15:05
Вроде понял.
У вас после нажатия отрабатывает этот блок:
1.    ИначеЕсли Найти("Число,Строка",ТипЗначенияСтр(_ЗначениеРасшифровки))>0 Тогда
         Предупреждение("Величина данного значения: "+РазделительСтрок+_ЗначениеРасшифровки,10);

У меня отрабатывает этот
2.    Иначе
        Предупреждение("Щелкнули по диаграмме");
        УдалитьДвижение();
        ВывестиДвижение();

Удалите 1 блок.
   АЛьФ
 
347 - 10.12.20 - 15:13
Так. Отловил. Зацикливается, когда внутренние окна развернуты.
   Volodja
 
348 - 10.12.20 - 15:19
Нашлось значит. Мне надо было сразу прогнать на абсолютно другой конфигурации. _ЗначениеРасшифровки путало все.
   SaVaNT55
 
349 - 10.12.20 - 15:27
Уважаемый АЛьФ. Спасибо за Ваши труды!!!

У меня возникли вопросы с перехватом ПриПолученииКомандыГлавнымОкном. В классе перехватчика не удаётся отменять команды. Не знаю внутренней "кухни" компонентов, возможно вопрос к icpp

7.70.027
icpp 3.2.4.1 
FormEx 2.0.5.164 (141)

В классе так:
//======================================================================

Функция СобытиеГМ_ПриПолученииКомандыГлавнымОкном(wParam, lParam) Экспорт
    
    ОтладкаСообщитьРасш("СОБЫТИЕ FX >", "ПриПолученииКомандыГлавнымОкном", wParam, lParam);    // Обертка для Сообщить


    Рез = 1;

    Перехватчик = ?(ПустоеЗначение(Перехватчик) = 1, СоздатьОбъект("Перехватчик"), Перехватчик);
    Рез         = Перехватчик.ВыполнитьОригинальноеСобытиеГлобальногоМодуля("ПриПолученииКомандыГлавнымОкном", wParam, lParam);
    
    Если (wParam = 57607) или (wParam = 123143) Тогда
        Сообщить("Выбрана команда печать");
        Рез = 0;
    КонецЕсли;
    
    Возврат Рез;
    
КонецФункции// СобытиеГМ_ПриПолученииКомандыГлавнымОкном

   АЛьФ
 
350 - 10.12.20 - 15:33
2(348) Прошу проверить вот эту версию: https://yadi.sk/d/SaGiKhu0fjokHw
   АЛьФ
 
351 - 10.12.20 - 15:35
2(349) Там отмена у меня по статуса возврата.

Процедура ПриПолученииКомандыГлавнымОкном(wParam, lParam)
    Если wParam = 57670 Тогда
        Сообщить("Все вопросы о работе 1С по телефону: 224");
        СтатусВозврата(0);
    ИначеЕсли wParam = 32805 Тогда
        Сообщить("Блокировка окна 1С отключена");
        СтатусВозврата(0);
    КонецЕсли;
КонецПроцедуры
   Volodja
 
352 - 10.12.20 - 15:49
(350) Супер. Все работает. Спасибо.
   SaVaNT55
 
353 - 10.12.20 - 15:52
(351) Спасибо за ответ. Да собственно так работает. Хотелось реализовать принятие решения опираясь на перехват этого обработчика.

В своем поиске опираюсь на пункты 9 и 10 раздела Общая схема перехвата: по icpp
https://www.1cpp.ru/docum/icpp/html/Hooker.html#runoriginaleventofglobalmodule
   АЛьФ
 
354 - 10.12.20 - 15:59
2(353) Могу добавить параметр - флаг стандартной обработки.
   SaVaNT55
 
355 - 10.12.20 - 16:04
(354) Я только за.
   АЛьФ
 
356 - 10.12.20 - 16:06
   SaVaNT55
 
357 - 10.12.20 - 16:34
(356) Большое спасибо! Проверил, все работает как надо.

//======================================================================

Процедура СобытиеГМ_ПриПолученииКомандыГлавнымОкном(wParam, lParam, ФлВозврата) Экспорт
    
    ОтладкаСообщитьРасш("СОБЫТИЕ FX >", "ПриПолученииКомандыГлавнымОкном", wParam, lParam);// Обертка для Сообщить    


    Если (wParam = 57607) или (wParam = 123143) Тогда
      // что то делаем и запрещаем выполнение команды

       ФлВозврата = 0;
    КонецЕсли;
        
    Если (ФлВозврата = 1) Тогда
       Перехватчик = ?(ПустоеЗначение(Перехватчик) = 1, СоздатьОбъект("Перехватчик"), Перехватчик);
       ФлВозврата  = Перехватчик.ВыполнитьОригинальноеСобытиеГлобальногоМодуля("ПриПолученииКомандыГлавнымОкном", wParam, lParam, ФлВозврата);
    КонецЕсли;
    
КонецПроцедуры// СобытиеГМ_ПриПолученииКомандыГлавнымОкном

   victuan1
 
358 - 11.12.20 - 05:17
(79) "Для начала неплохо бы найти в виндовом логе что там пишется по поводу падения. Если стабильно на любой базе валится, то могу попробовать сделать сборку с логом, чтобы понять на каком шаге загрузки вылетает." Вот например, у меня стабильно при определенном числе вызова вложенных функции в выполняемом модуле 1с++ валится 1С 7.7. Причем это только на ВинХР, стоит сменить на Вин7, то уже падения нет.  

https://prnt.sc/w06vju

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    Отсутствует
Код события:    1000
Дата:        09.12.2020
Время:        13:29:07
Пользователь:        Н/Д
Компьютер:    COMP23
Описание:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль bkend.dll, версия 7.70.0.27, адрес 0x001d0029.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 63 76   ure  1cv
0018: 37 2e 65 78 65 20 37 2e   7.exe 7.
0020: 37 30 2e 30 2e 32 37 20   70.0.27
0028: 69 6e 20 62 6b 65 6e 64   in bkend
0030: 2e 64 6c 6c 20 37 2e 37   .dll 7.7
0038: 30 2e 30 2e 32 37 20 61   0.0.27 a
0040: 74 20 6f 66 66 73 65 74   t offset
0048: 20 30 30 31 64 30 30 32    001d002
0050: 39 0d 0a                  9..    

Это скрин на примере падения из-за 1С++, но падение происходит не при попытке загрузить ВК, а при выполнении кода в выполняемом модуле.
В таком виде нужны ошибки? Они помогут? Если да, то постараюсь у клиента вызвать падения при попытке загрузить Формекс.
   victuan1
 
359 - 11.12.20 - 05:22
Тип события:    Ошибка
Источник события:    Application Hang
Категория события:    (101)
Код события:    1002
Дата:        10.12.2020
Время:        10:57:31
Пользователь:        Н/Д
Компьютер:    COMP23
Описание:
Зависшее приложение 1cv7.exe, версия 7.70.0.27, зависший модуль hungapp, версия 0.0.0.0, адрес 0x00000000.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 48 61 6e 67   ion Hang
0010: 20 20 31 63 76 37 2e 65     1cv7.e
0018: 78 65 20 37 2e 37 30 2e   xe 7.70.
0020: 30 2e 32 37 20 69 6e 20   0.27 in
0028: 68 75 6e 67 61 70 70 20   hungapp
0030: 30 2e 30 2e 30 2e 30 20   0.0.0.0
0038: 61 74 20 6f 66 66 73 65   at offse
0040: 74 20 30 30 30 30 30 30   t 000000
0048: 30 30                     00
   АЛьФ
 
360 - 11.12.20 - 06:19
2(358) Да, именно в таком виде и надо, чтобы было от чего оттолкнуться.
 
 Рекламное место пустует
   АЛьФ
 
361 - 11.12.20 - 10:13
Опять возвращаясь к масштабированию текста в ячейке моксель.
По здравому размышлению пришел к выводу, что лучше все же поискать готовый ActiveX с нужным функционалом. Перенаправлять отрисовку ячеек в 1с-ный код чревато возникновением разнообразных артефактов при отображении и диких тормозов. А без перехвата отрисовки получим очень частное решение.
   Злопчинский
 
362 - 11.12.20 - 12:23
(361) ну, эта проблема не так актуально/жмет, так что если нет, то и нет.
про активикс с нужным функционалом - вот это вообще не понял как это концептуально можно использовать...
.
в принципе можно попробовать через автоподбор шрифта на форме. текстовый реквизит сделать "размером" примерно с ячейку мокселя и попытаться так сопоставить, возможно, через некий эмпирический поправочный коэффициент...
   Злопчинский
 
363 - 11.12.20 - 12:26
(360) выше я писал что такое и у меня наблюдалось падение при повторной загрузке формекса.
сейчас я спецом еще проверил (164 релиз) - повторно нормально все проходит. вин64 домашняя. проверю еще на рабочем серваке
   Злопчинский
 
364 - 11.12.20 - 12:34
(360) проверил на продакшене на серваке. там стоит 2.0.5.109 beta - повторная загрузка формекса вышибает 1Ску мгновенно в ноль.
   victuan1
 
365 - 14.12.20 - 07:18
(360) Вот поймал ошибку при попытке загрузить Формекс:

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    (100)
Код события:    1000
Дата:        14.12.2020
Время:        13:07:09
Пользователь:        Н/Д
Компьютер:    SERVER
Описание:
Ошибка приложения 1CV7s.exe, версия 7.70.0.25, модуль mfc42.dll, версия 6.6.8064.0, адрес 0x000d286f.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp";.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 43 56   ure  1CV
0018: 37 73 2e 65 78 65 20 37   7s.exe 7
0020: 2e 37 30 2e 30 2e 32 35   .70.0.25
0028: 20 69 6e 20 6d 66 63 34    in mfc4
0030: 32 2e 64 6c 6c 20 36 2e   2.dll 6.
0038: 36 2e 38 30 36 34 2e 30   6.8064.0
0040: 20 61 74 20 6f 66 66 73    at offs
0048: 65 74 20 30 30 30 64 32   et 000d2
0050: 38 36 66                  86f    


формекс версии 2.0.5.151
расположен в каталоге ИБ по пути: D:\1c_Data\1C_OOO PEKKA\ExtForms\dll

Windows Server 2003
Enterprise Edition
Service Pack 2

Обновил формекс до 2.0.5.165.

Не помогло, 1С упала:

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    (100)
Код события:    1000
Дата:        14.12.2020
Время:        13:17:14
Пользователь:        Н/Д
Компьютер:    SERVER
Описание:
Ошибка приложения 1CV7s.exe, версия 7.70.0.25, модуль mfc42.dll, версия 6.6.8064.0, адрес 0x000d286f.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp";.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 43 56   ure  1CV
0018: 37 73 2e 65 78 65 20 37   7s.exe 7
0020: 2e 37 30 2e 30 2e 32 35   .70.0.25
0028: 20 69 6e 20 6d 66 63 34    in mfc4
0030: 32 2e 64 6c 6c 20 36 2e   2.dll 6.
0038: 36 2e 38 30 36 34 2e 30   6.8064.0
0040: 20 61 74 20 6f 66 66 73    at offs
0048: 65 74 20 30 30 30 64 32   et 000d2
0050: 38 36 66                  86f    


Что делаем дальше?
   АЛьФ
 
366 - 14.12.20 - 09:09
2(365) Первым делом пробуем обновить платформу до 27-го релиза.
   victuan1
 
367 - 14.12.20 - 10:42
(366) Без обновления платформы не получится решить проблему?
   АЛьФ
 
368 - 14.12.20 - 11:00
2(367) Это просто первый самый очевидный шаг. А какая проблема с обновлением движка?
   victuan1
 
369 - 14.12.20 - 11:40
(368) Не хочется влезать в их кухню - это не мой клиент. Так то хочется, чтобы формекс умел работать без доп. условий. Например, не требовать регистрацию в реестре (и так не требует), работать на любой платформе 1С. Но если это не выполнимое требование, то попрошу их админа обновить платформу. Но думаю, это не будет скоро.
   АЛьФ
 
370 - 14.12.20 - 13:54
2(369) FormEx все же напрямую с движком работает и вряд ли стоит искать ошибку при запуске не на последнем движке. Можно попробовать выцепить где именно падает, но если это действительно из-за движка, то может потом всплыть в другом неожиданном месте. Оно нам надо?
   victuan1
 
371 - 15.12.20 - 07:09
(370) Проверил на платформе 27, упало также:

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    (100)
Код события:    1000
Дата:        15.12.2020
Время:        13:08:00
Пользователь:        Н/Д
Компьютер:    SERVER
Описание:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль mfc42.dll, версия 6.6.8064.0, адрес 0x000d286f.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp";.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 63 76   ure  1cv
0018: 37 2e 65 78 65 20 37 2e   7.exe 7.
0020: 37 30 2e 30 2e 32 37 20   70.0.27
0028: 69 6e 20 6d 66 63 34 32   in mfc42
0030: 2e 64 6c 6c 20 36 2e 36   .dll 6.6
0038: 2e 38 30 36 34 2e 30 20   .8064.0
0040: 61 74 20 6f 66 66 73 65   at offse
0048: 74 20 30 30 30 64 32 38   t 000d28
0050: 36 66                     6f      


Что делаем дальше?
   АЛьФ
 
372 - 15.12.20 - 09:06
2(371) Дальше я подготовлю сборку компоненты, чтобы при загрузке она писала лог в файл. И надо будет выслать мне этот лог, чтобы локализовать место падения.
Скорее всего, потребуется еще пара сборок с логом для сужения места падения. Как-то так.
   victuan1
 
373 - 15.12.20 - 09:26
(372) ОК, сделаю.
   АЛьФ
 
374 - 15.12.20 - 10:03
2(373) Для начала вот: https://yadi.sk/d/l24gDtmHDM3k1Q
В каталоге, откуда загружена FormEx, появится файл formex.dll.log.
   victuan1
 
375 - 15.12.20 - 10:18
(374) В логе вот что:

2020.12.15 07:17:49.890 - CAddInApp::InitInstance - СТАРТ
2020.12.15 07:17:49.890 - CAddInApp::InitInstance - регистрация классов
2020.12.15 07:17:49.890 - CAddInApp::InitInstance - инициализация классов
2020.12.15 07:17:49.890 - CAddInApp::InitInstance - инициализация перехватов
2020.12.15 07:17:49.890 - CInitFormEx::Init - СТАРТ
2020.12.15 07:17:49.890 - CInitFormEx::Init - подмена процедуры главного окна
2020.12.15 07:17:49.890 - CInitFormEx::Init - перехват окна о приложении
2020.12.15 07:17:49.890 - CInitFormEx::Init - инициализация таймеров
2020.12.15 07:17:49.906 - CInitFormEx::Init - загрузка сохраненных параметров
   АЛьФ
 
376 - 15.12.20 - 10:39
2(375) Отлично. Вот второй вариант: https://yadi.sk/d/l24gDtmHDM3k1Q
   victuan1
 
377 - 15.12.20 - 10:51
(376) 2020.12.15 07:51:29.140 - CAddInApp::InitInstance - СТАРТ
2020.12.15 07:51:29.140 - CAddInApp::InitInstance - регистрация классов
2020.12.15 07:51:29.140 - CAddInApp::InitInstance - инициализация классов
2020.12.15 07:51:29.140 - CAddInApp::InitInstance - инициализация перехватов
2020.12.15 07:51:29.140 - CInitFormEx::Init - СТАРТ
2020.12.15 07:51:29.140 - CInitFormEx::Init - подмена процедуры главного окна
2020.12.15 07:51:29.140 - CInitFormEx::Init - перехват окна о приложении
2020.12.15 07:51:29.140 - CInitFormEx::Init - инициализация таймеров
2020.12.15 07:51:29.156 - CInitFormEx::Init - загрузка сохраненных параметров
2020.12.15 07:51:29.156 - CInitFormEx::LoadSettingsFromRegistry - СТАРТ
2020.12.15 07:51:29.156 - CInitFormEx::LoadSettingsFromRegistry - получение объекта свойств
2020.12.15 07:51:29.156 - CInitFormEx::LoadSettingsFromRegistry - составление имени ветки реестра
2020.12.15 07:51:29.156 - CInitFormEx::LoadSettingsFromRegistry - открытие ветки реестра
2020.12.15 07:51:29.156 - CInitFormEx::LoadSettingsFromRegistry - СТОП
2020.12.15 07:51:29.156 - CInitFormEx::Init - получение менеджера иконок
   АЛьФ
 
378 - 15.12.20 - 10:55
2(377) Опа...
   АЛьФ
 
379 - 15.12.20 - 11:16
2(377) Есть подозрение, что мы его отловили. Проверяем: https://yadi.sk/d/l24gDtmHDM3k1Q
   victuan1
 
380 - 15.12.20 - 11:25
(379) Лови ;)
20.12.15 08:24:29.390 - CAddInApp::InitInstance - СТАРТ
2020.12.15 08:24:29.390 - CAddInApp::InitInstance - регистрация классов
2020.12.15 08:24:29.390 - CAddInApp::InitInstance - инициализация классов
2020.12.15 08:24:29.390 - CAddInApp::InitInstance - инициализация перехватов
2020.12.15 08:24:29.390 - CInitFormEx::Init - СТАРТ
2020.12.15 08:24:29.390 - CInitFormEx::Init - получение менеджера иконок
2020.12.15 08:24:29.390 - CTrayIconManager::CTrayIconManager - СТАРТ
2020.12.15 08:24:29.390 - CTrayIconManager::CTrayIconManager - ШАГ - 1
2020.12.15 08:24:29.390 - CTrayIconManager::CTrayIconManager - ШАГ - 2
2020.12.15 08:24:29.390 - CTrayIconManager::CTrayIconManager - ШАГ - 3
2020.12.15 08:24:29.406 - CTrayIconManager::CTrayIconManager - ШАГ - 4
2020.12.15 08:24:29.406 - CTrayIconManager::CTrayIconManager - ШАГ -5
2020.12.15 08:24:29.406 - CInitFormEx::Init - подмена процедуры главного окна
2020.12.15 08:24:29.406 - CInitFormEx::Init - перехват окна о приложении
2020.12.15 08:24:29.406 - CInitFormEx::Init - инициализация таймеров
2020.12.15 08:24:29.421 - CInitFormEx::Init - загрузка сохраненных параметров
2020.12.15 08:24:29.421 - CInitFormEx::LoadSettingsFromRegistry - СТАРТ
2020.12.15 08:24:29.421 - CInitFormEx::LoadSettingsFromRegistry - получение объекта свойств
2020.12.15 08:24:29.421 - CInitFormEx::LoadSettingsFromRegistry - составление имени ветки реестра
2020.12.15 08:24:29.421 - CInitFormEx::LoadSettingsFromRegistry - открытие ветки реестра
2020.12.15 08:24:29.421 - CInitFormEx::LoadSettingsFromRegistry - СТОП
2020.12.15 08:24:29.421 - CInitFormEx::Init - установка системных хуков
2020.12.15 08:24:29.421 - CInitFormEx::Init - включение раскраски
2020.12.15 08:24:29.421 - CInitFormEx::Init - сабклассинг главного окна
2020.12.15 08:24:29.421 - CInitFormEx::Init - инициализация менеджеров
2020.12.15 08:24:29.421 - CInitFormEx::Init - получение менеджера меню
2020.12.15 08:24:29.421 - CInitFormEx::Init - инициализация окна о программе
2020.12.15 08:24:29.421 - CInitFormEx::Init - разрешения приема драпа
2020.12.15 08:24:29.421 - CInitFormEx::Init - получение списка всех форм
2020.12.15 08:24:29.484 - CInitFormEx::Init - СТОП
2020.12.15 08:24:29.500 - CAddInApp::InitInstance - СТОП
   АЛьФ
 
381 - 15.12.20 - 11:27
2(380) Загрузилась или вылетела?
   Злопчинский
 
382 - 15.12.20 - 11:29
(379) галактеко замерло ожидание
   victuan1
 
383 - 15.12.20 - 12:25
(381) Вылетела! Пока успеха нет.
   АЛьФ
 
384 - 15.12.20 - 12:31
2(383) Да черезтындырочку ж!
   АЛьФ
 
385 - 15.12.20 - 12:36
Судя по (380), после последнего изменения dll нормально загружена и прошла все инициализации. И теперь самое интересное - вылетать она может абсолютно в любом месте, в любом перехвате...
В логе винды то же сообщение пишется?
   victuan1
 
386 - 15.12.20 - 12:47
(385) Да:

Тип события:    Ошибка
Источник события:    Application Error
Категория события:    (100)
Код события:    1000
Дата:        15.12.2020
Время:        18:46:03
Пользователь:        Н/Д
Компьютер:    SERVER
Описание:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль unknown, версия 0.0.0.0, адрес 0xffff07fd.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp";.
Данные:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 31 63 76   ure  1cv
0018: 37 2e 65 78 65 20 37 2e   7.exe 7.
0020: 37 30 2e 30 2e 32 37 20   70.0.27
0028: 69 6e 20 75 6e 6b 6e 6f   in unkno
0030: 77 6e 20 30 2e 30 2e 30   wn 0.0.0
0038: 2e 30 20 61 74 20 6f 66   .0 at of
0040: 66 73 65 74 20 66 66 66   fset fff
0048: 66 30 37 66 64            f07fd
   victuan1
 
387 - 15.12.20 - 12:48
В логе Приложений. В логах Системы и Безопасности - пусто.
   АЛьФ
 
388 - 15.12.20 - 12:50
2(386) Т.е. сообщение изменилось. Падение теперь в другом месте.
Значит переходим к следующему этапу. Я отключаю последовательно перехваты и пробуем загрузить. Если получился определить на каком именно падает, будем лог строить по нему.
   АЛьФ
 
389 - 15.12.20 - 12:57
Очередная сборка: https://yadi.sk/d/l24gDtmHDM3k1Q
   victuan1
 
390 - 15.12.20 - 13:10
(389) Упало, но лог не создался.
   victuan1
 
391 - 15.12.20 - 13:10
В винде ошибка та же:

Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль unknown, версия 0.0.0.0, адрес 0xffff0751.
   АЛьФ
 
392 - 15.12.20 - 13:19
2(390) Лог я отключил на этом этапе.
2(391) Плохо.
А вот так? https://yadi.sk/d/l24gDtmHDM3k1Q
   victuan1
 
393 - 15.12.20 - 13:26
(392) То же самое:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль unknown, версия 0.0.0.0, адрес 0xffff07bd.

Отлучусь часа на полтора.
   АЛьФ
 
394 - 15.12.20 - 14:28
   Злопчинский
 
395 - 15.12.20 - 14:53
галактеко волнуеццо
   АЛьФ
 
396 - 15.12.20 - 14:54
2(395) Спокойно, мамаша, я - Дубровский!
   victuan1
 
397 - 15.12.20 - 15:31
(394) Упало, ошибка та же:
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль unknown, версия 0.0.0.0, адрес 0xffff06fd.
   АЛьФ
 
398 - 15.12.20 - 15:34
2(397) Может в почту перейдем, чтобы не засорять форум и подержать галактеко в напряжении?
alf@dorex.pro
Ссылка для скачивания одна и та же. Я будут писать "проверяй", ты скачиваешь и в ответ пишешь "заработало!!!" или "вылет" в зависимости от результата. Ок?
   АЛьФ
 
399 - 15.12.20 - 15:40
Кстати, очередной тест выложен.
   victuan1
 
400 - 15.12.20 - 15:47
(398) Давай уж лучше в мессенджер какой-нибудь, скайп, аська, телеграмм и т.д.
Отписался на почту.
  1  2  3  4  5  6  7  8  9   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.