#0
by guai
Добрый день, уважаемые. Помогите разобраться с ISpecifyPropertyPages. Пишу пругин. Когда не вставляю декларацию ISpecifyPropertyPages в свой класс - всё нормально. Страницы свойств нет. Когда вставляю, оно ведет себя как-то странно. Мне нужно чтобы страница свойств была видна, в зависимости от ... ну, кое от чего. Условие там должно выполняться. Пытаюсь его отловить в QueryInterface и запретить. Не отлавливается. Но метод GetPages вызывается. Как же оно без QueryInterface? Как по-другому 1с может пропалить, что этот интерфейс всё-таки есть? И как его в этом случае отлавливать? Или может есть способ, чтобы GetPages вызывалось, но страница свойств не создавалась? В мануале не нашел. Пробовал по всякому: возвращал S_FALSE, E_FAIL, еще полно всего (1с вылетает); просто говорил, что количество элементов - 0 (тоже).
#1
by АперБот
Попробуйте переформулировать вопрос, возможно так станет понятнее и кого-нибудь заинтересует. Мне можете не отвечать, я всего лишь машина.
#2
by MMF
покажи, как отлавливаешь в QueryInterface. "..в зависимости от ... ну, кое от чего." - проверку этого кое-чего нужно будет делать ДО init.
#3
by guai
function TPlugInM.QueryInterface(const IID: TGUID; out Obj): HResult; begin {bp}Result:=inherited QueryInterface(IID,Obj); end; Вот сдесь на брякпоинт попадается только IInitDone и IlangeageExtender, Ставлю условие if IsEqualGUID(IID,ISpecifyPropertyPage) and not B{Условие} then Result:=inherited QueryInterface(IID,Obj) else Result:=E_NOINTERFACE; И ничего. Условие - да, известно до всего. До первого вызова IInitDone.
#4
by guai
То есть наоборот я писал, если условие верно - то Nointerface, елсе - inherited. Короче, на брякпоинт-то оно всё равно не ловится, вот в чем грабли.
#5
by guai
:) Интересный глюк, я его только что сделал TAutoObject - стал отлавливать. Может в дельфе глюк, я не понял. Спасибо, MMF, что хотел помочь.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- ЗИК. Помогите ввести вид расчета......ПОМОГИТЕ пожалуйста
- Где взять информацию по AddIn.XMLParser
- v7: Помогите с подключением по OLE к 1C в Delphi
- 1с 7.7 не работает addin
- Штрих-м-фр-к "addin.drvfr1c" - теперь нет метода НапечататьШтрихКод?
- Не создается компонента "AddIn.CeDataExch"
- Delphi class abstract (версия Delphi XE7)
- Работа со Штрих-М-ФР-К в 1с82 через AddIn.DrvFR
- DELPHI + COM +1c 8.3. Не завершается COM. Помогите.
- Печать XОтчета из AddIn.ATOL_KKM_1C82_54FZ
В этой группе 1С
- Отображение реквизита справочника
- Как программно закрыть таблицу?
- УТ: Сумма в заказе поставщику не совпадает с суммой поступления при вводе н
- Как раскодировать русские символы в строке URL (%EF%F0%E8%E2%E5%F2)
- Как в запросе поставить условие Док.Проведен = истина. А то "истина" получ
- Двухсторонняя печать из 1С
- v7: Ввод на основании на основании Документа Операция
- Пропала в Windows XP панель управления
- СЗВ-К корректирующая
- Запрос к регистрам ОстаткиИОбороты
- TERMINAL ошибка приложения 1cv7.exe
- Программно в документе скрыть колонку
- Неправильно заполняются средний заработок в начислении отпуска
- Где Citrix хранит учетные данные приложений?
- Затупил: как по внешнему событию спозиционироваться доке на нужной строке
- v7: Как передать значение переменной в запрос?
- Периодические реквизиты
- Перехват и подмена запросов от 1С к MS SQL Server
- Выгрузка/загрузка - объем базы увеличился!
- Расчет зарплаты договорникам