![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.Как создать новый тип ArrayStr = Array of String ,чтобы его можно было потом использовать в COM DLL?
Код:
Вставляю в код,но после сохранение этот тип удаляется. |
#2
|
|||
|
|||
![]() Редактировать самому *_TLB.pas наверно не стоит.
Там в первом блоке комментариев написано почти на русском "the contents of this file will be regenerated and all manual modifications will be lost" Этот файл все таки обертка к Ip2Com_events Library и добавлять в pas файл что-то свое - стоит 100 раз подумать. Попробуй как то по другому. |
Этот пользователь сказал Спасибо rand за это полезное сообщение: | ||
infopol (06.06.2023)
|
#3
|
|||
|
|||
![]() Хотел создать функцию которая принимает и возвращает ArrayString
|
#4
|
|||
|
|||
![]() Ну, для начала - String не COM safe тип.
Во вторых, как тебе уже сказали, просто добавить свою функцию в существующую библиотеку нельзя. Ведь _TLB это всего лишь описание интерфейса существующего COM-объекта. Т.е. добавление этой функции в _TLB не добавит эту функцию в сам объект и, как следствие, она будет удалена при следующем реимпорте библиотеки. Что можно сделать - создать свой модуль (обычный), в котором реализовать соотв. функцию, а она уже внутри будет вызывать соотв. COM объект. В принципе, если этот фнукционал нужен в нескольких проектых и очень хочется "закрыть" его, то можно создать свой COM-объект, в нем реализовать соотв. интерфейс и имлементацию и уже внутри имлементации вызывать существующий COM-объект. Т.е. получается как бы еще один слой обертки. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
infopol (07.06.2023)
|
#5
|
|||
|
|||
![]() Код:
Последний раз редактировалось infopol, 07.06.2023 в 07:04. |