OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 08 Декабрь, 2019 05:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: [safe] параметры
СообщениеДобавлено: Суббота, 10 Февраль, 2007 18:04 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
При генерации COM-модуля (DevComInterfaceGen.GenCustomInterface) некоторые методы имеют параметры с флагом [safe]. Компилятор на них ругается. Кто-нибудь знает, на что их можно заменить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 10 Февраль, 2007 23:21 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9162
Откуда: Россия, Орёл
А IMPORT COM есть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 11 Февраль, 2007 00:15 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4539
Откуда: Россия, Орёл
Навскидку нашел это:

DevTypeLibs:
Код:
   | WinOle.VT_SAFEARRAY:
         IF wrapper IN opts THEN out.WriteSString("CtlT.Any")
         ELSE out.WriteSString("ARRAY [safe] OF "); WriteType(t.u.lptdesc^, tinfo, opts, out)
         END

Документация .NET:
- COM safe arrays are self-describing. By examining the safe array, the runtime marshaler can determine the rank, size, bounds, and usually the type of the array contents at run time... // какой новаторский подход... C-массивы уже использовать не рекомендуют. :)
- VT_SAFEARRAY Indicates a SAFEARRAY. Not valid in a VARIANT. ??

Будем надеяться, что хорошая мысля приходит опосля :D

Кстати, насчет IF wrapper IN opts THEN out.WriteSString("CtlT.Any"), а нет ли какого COM-интерфейса для этого самого SAFEARRAY?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 11 Февраль, 2007 01:58 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Илья Ермаков: а как же, в первую очередь.

Евгений Темиргалеев: спасибо, хоть что это должно быть стало понятно. Теперь бы ещё найти как это реализовать.

А вообще это GenCustomInterface выдаёт весьма интересный полуфабрикат :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 11 Февраль, 2007 04:05 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Нашёл супостата. Называется WinOleAut.SAFEARRAY


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 13 Февраль, 2007 15:21 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4539
Откуда: Россия, Орёл
Кусок CtlC.ocf и процедуры для работы с безопасным массивом:
$OLEAUT32.dll -> SafeArrayAccessData, SafeArrayAllocData, SafeArrayAllocDescriptor, SafeArrayUnaccessData, SysAllocString, SysFreeString, SysStringLen, VariantClear <-


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB