tag:blogger.com,1999:blog-1702873441071265539.post7680018511720040678..comments2023-05-29T19:02:20.570+03:00Comments on Блог GunSmoker-а: Разработка системы плагинов, часть 3: активные плагиныGunSmokerhttp://www.blogger.com/profile/15611696588191431330noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-1702873441071265539.post-13509335603536641202020-08-26T18:02:40.963+03:002020-08-26T18:02:40.963+03:00В модификаторах укажите [in, out] (вместо [in]). Е...В модификаторах укажите [in, out] (вместо [in]). Если хотите результат для safecall функции - сделайте последний параметр [out, RetVal].<br /><br />Если указывается out, то параметр должен передаваться по ссылке (указателю). В нотации библиотеки типов это указывается также как в C - звёздочкой после имени типа. Например, long* [in, out] приведёт к var Param: Integer.<br /><br />Ну и не надо забывать, что в Delphi объекты и интерфейсы уже являются указателями. Т.е. IMenuItem* в библиотеке типов - это равно IMenuItem в смысле Delphi. А надо ещё добавить указатель для out - т.е. будет IMenuItem**.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-58138773746759526802020-08-26T07:19:10.634+03:002020-08-26T07:19:10.634+03:00Как указать тип параметра процедуры "DeleteMe...Как указать тип параметра процедуры "DeleteMenuItem" как var? В библиотеке типов параметр всегда const.Raziel Sotkenhttps://www.blogger.com/profile/11977599345593878627noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-37374308210881350252013-01-24T15:48:10.774+04:002013-01-24T15:48:10.774+04:00Я в первой части сказал, что далее я буду писать к...Я в первой части сказал, что далее я буду писать код без оглядки на TLB, т.к. иначе больно много работы, а я ленюсь.<br /><br />Про константы у меня запланирован материал ещё. Если кратко - лучше делать явно числом и флаги комбинировать.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-8306218729560373612013-01-24T15:01:18.016+04:002013-01-24T15:01:18.016+04:00Спасибо за ответ. Теперь понятно как с ним работь....Спасибо за ответ. Теперь понятно как с ним работь.<br />Смутил он меня 2-мя байтами и его поддержка в других ЯП, есть ли, да и по тексту везде BOOL. <br /><br />А тут еще один момент TPoint в раньше был с полями int теперь с longint. Его описание может тоже в заголовочник включить.<br /><br />Не смог найти как в заголовочнике tlb добавить новый тип TEditorSearchTypes и константы. Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-72686183800947030212013-01-23T20:12:55.888+04:002013-01-23T20:12:55.888+04:00VARIANT_BOOL пришёл из Visual Basic и был выбран в...VARIANT_BOOL пришёл из Visual Basic и был выбран в качестве логического типа для COM.<br /><br /><a href="http://www.transl-gunsmoker.ru/2013/01/BOOL-VARIANTBOOL-BOOLEAN-bool.html" rel="nofollow">VARIANT_BOOL - это обычный логический тип</a>. Я не понял, чем он вам не понравился? <a href="http://www.dynamsoft.com/help/TWAIN/Guide_DataMapping.htm" rel="nofollow">Да,это будет WordBool в Delphi</a>.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-10422937472864500362013-01-23T15:52:09.269+04:002013-01-23T15:52:09.269+04:00Или использовать Integer?Или использовать Integer?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-9323749463740122642013-01-23T15:47:15.829+04:002013-01-23T15:47:15.829+04:00Тип BOOL отсутвует в стандартных типах при создани...Тип BOOL отсутвует в стандартных типах при создании библиотек типов. Есть тип VARIANT_BOOL, который при генерации заголовочников становиться WordBool. Есть возможность добавить тип BOOL в файл *.tlb? Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-59676789051012463672012-06-26T14:03:01.637+04:002012-06-26T14:03:01.637+04:00Метод номер 1 = "удалять пункт меню по удален...Метод номер 1 = "удалять пункт меню по удалению последней ссылки на него".GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-35994826463957920992012-06-26T14:02:03.580+04:002012-06-26T14:02:03.580+04:00а где "метод номер один" ? :-)а где "метод номер один" ? :-)Arioch, thehttps://www.blogger.com/profile/05506275753418154075noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-6593977957274528452012-02-04T22:38:57.844+04:002012-02-04T22:38:57.844+04:00"Кросс-языковен"... М-да... Может, хотя ..."Кросс-языковен"... М-да... Может, хотя бы тогда "кросс-язычен", если уж "языкозависимый" вас чем-то не устроил?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-45507075534873994752012-01-30T12:45:16.388+04:002012-01-30T12:45:16.388+04:00>>> А будет ли рассмотрен вопрос, о перед...<i>>>> А будет ли рассмотрен вопрос, о передаче событий программы в плагин? Допустим, где-то, что-то крякнуло и плагин автоматом на это реагирует...</i><br /><br />Не понял, в чём, собственно, вопрос. Я показывал это ещё <a href="http://www.gunsmoker.ru/2012/01/delphi-2-api.html" rel="nofollow">в прошлой части</a>, где плагины вызывались по событию (открытие или сохранение файла).GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-49105629511788007822012-01-30T12:43:06.210+04:002012-01-30T12:43:06.210+04:00Я пишу в свободное время, по мере возможности.Я пишу в свободное время, по мере возможности.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-9196919274273757832012-01-27T15:44:09.874+04:002012-01-27T15:44:09.874+04:00Здравствуйте Александр.
Когда будет 4яа статья эт...Здравствуйте Александр.<br /><br />Когда будет 4яа статья этой серии?<br /><br />PS<br />События без проблем реализуются через использование интерфейсов. Почитайте в интернете, все вопросы отпадут сами собой...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-87885403675055312322012-01-27T03:51:30.515+04:002012-01-27T03:51:30.515+04:00так же интересен вопрос, когда несколько плагинов ...так же интересен вопрос, когда несколько плагинов реагируют на одно и тоже событие ядра(вып. разные действия и без вызова ошибок).Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-70210257315243684182012-01-27T03:49:19.347+04:002012-01-27T03:49:19.347+04:00А будет ли рассмотрен вопрос, о передаче событий п...А будет ли рассмотрен вопрос, о передаче событий программы в плагин? Допустим, где-то, что-то крякнуло и плагин автоматом на это реагирует...<br /><br />Очень интересует этот вопрос, в плане поддержки c++Anonymousnoreply@blogger.com