Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43

Как получить данные из объекта?

31.07.2015, 11:34. Показов 2290. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подключаю файл *.tlb, далее создаю объект "Frame", он создается с параметрами по умолчанию, далее хочу изменить его размер или получить размер, но никак не получается. У объекта "Frame" есть метод "GetGeometricBounds" но не знаю как им воспользоваться.
Подскажите как мне им воспользоваться?

Вот кусок кода из tlb-файла где написано про эту функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma implementation_key(128)
inline void MyApplication::Frame::PutGeometricBounds ( const _variant_t & _arg1 ) {
    _com_dispatch_method(this, 0x67626e64, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, 
        L"\x000c", &_arg1);
}
 
#pragma implementation_key(129)
inline _variant_t MyApplication::Frame::GetGeometricBounds ( ) {
    VARIANT _result;
    VariantInit(&_result);
    _com_dispatch_method(this, 0x67626e64, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&_result, NULL);
    return _variant_t(_result, false);
}
.... 
.... 
 
Frame : IDispatch
{
    // Property data
 
    __declspec(property(get=GetGeometricBounds,put=PutGeometricBounds))
    _variant_t GeometricBounds;
...
...
 
 // Methods: 
 
void PutGeometricBounds (
        const _variant_t & _arg1 );
    _variant_t GetGeometricBounds ( );
....
....
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2015, 11:34
Ответы с готовыми решениями:

Как получить библиотеку типа *.tlb из COM-объекта *.exe
Здравствуйте! =) Прошу подсказку у экспертов в COM`е. Можно ли сгенерировать библиотеку типа Tratata.tlb по имеющемуся...

Получить данные объекта, выбранного в селекторе
Есть сущность Products, у каждого продукта есть тайтл, цена. В контролере продукта я создал метод "калькулятор". Во вьюхе...

Как вывести данные из объекта?
Есть объект config::gi() , он содержит: Config Object ( => Array ( => Array ( ...

9
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
02.08.2015, 17:28  [ТС]
Вот так я обращаюсь к первому фрейму:
C++
1
FramePtr myFrame = myDoc->Frames->Item[1L];
А вот как передать ему параметры размера я не знаю, это параметр "GeometricBounds". кажется он типа _variant_t.
Хоть какие мысли есть?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
02.08.2015, 22:02
Ну, получить-то размер - просто:
C++
1
VARIANT gb = FramePtr myFrame = myDoc->Frames->Item[1L]->GeometricBounds;
А вот потом - смотри в отладчике, что именно тебе вернулось, в каком виде.
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
02.08.2015, 22:26  [ТС]
Я уже так пробовал. Много чего возвращает, но ничего похожего на размер нет. Я просто не знаю куда дальше копать. Видимо гдето там есть этот размер, но нужно както его привести в человеческий вид.
вот скриншот
Миниатюры
Как получить данные из объекта?  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
02.08.2015, 22:57
Ну написано же, что vt = 5, это VT_R8 (an 8-byte IEEE floating-point number), надо думать как из этого значения вытащить размер.
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
03.08.2015, 14:18  [ТС]
Я начинающий( не знаю как работать с этим типом.
Что мне дальше делать? плиз

Добавлено через 15 часов 11 минут
в переменой должно быть четыре значения или две пары (x, y).
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
03.08.2015, 22:56  [ТС]
И есть вот такие методы еще
Миниатюры
Как получить данные из объекта?  
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
05.08.2015, 17:34  [ТС]
Вот еще описание из TLB файла:
Property GeometricBounds As Variant
The bounds of the TextFrame excluding the stroke width, in the format [y1, x1, y2, x2], which give the coordinates of the top-left and bottom-right corners of the bounding box. as Array of 4 Units (Doubles or Strings)

Подскажите как мне получить или задать эти значения.
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
10.08.2015, 14:16  [ТС]
У меня получилось передать новый размер фрейму. получился SAFEARRAY обернутый VARIANTом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    double mySize[4] = {12.7, 12.7, 66.7, 83.2};
    SAFEARRAY * Bound;
    VARIANT Array;
    Array.vt =   VT_ARRAY | VT_R8;
    Bound = SafeArrayCreateVector(VT_R8, 1, 4); 
    for (int i = 0; i < 4; i++)
    {
        long index = i + 1;
        SafeArrayPutElement(Bound, &index, &mySize[i]); 
    }
    Array.parray = Bound;
 
    myTextFrame->GeometricBounds = Array;
А как получить эти значения обратно или вывести в консоль?
0
7 / 7 / 6
Регистрация: 18.03.2012
Сообщений: 43
11.08.2015, 15:18  [ТС]
Как удалить тему? все равно никто не отвечает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2015, 15:18
Помогаю со студенческими работами здесь

Как вытащить данные из объекта?
Доброго времени суток! Есть структура граф. Есть два представления Л и М граф. В конструкторе графа создается объект абстрактного класса,...

Как вытащить данные из ole объекта?
в каждой стоке таблицы зашит объект ole (рисунок формата bmp), как можно можно сохранить этот рисунок на жесткий диск в виде файла формата...

Как получить размер объекта
Доброго времени суток вопрос: как можно получить размер объекта? к примеру есть 3d-объект - прямоугольник, нужно узнать его длину...

Как вернуть массив, и как неявно получить атрибут объекта?
хочу спросить как из функции вернуть массив int g(void){ int a; //как-то его заполнить return a; } массив...

Как прочитать все данные из объекта Session?
у меня asp-страниц около 20 и в каждой из них есть по 2-3 объекта Session, но вот беда - не помню их все наизусть :( Можно ли как-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru