Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
К то должен освобождать BSTR?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: К то должен освобождать BSTR? (Прочитано 11257 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист
Offline
Пол:
К то должен освобождать BSTR?
«
:
08-10-2003 07:02 »
Работаю с ADO
С генерированы Wrapers
Код:
.....
Fields20 fds;
Field20 fd;
VARIANT v;
CString s;
s="fdate";
v.vt = VT_BSTR;
v.bstrVal=s.AllocSysString(); // здесь я как понимаю происходит
// выделение памяти и копирование
// строки. А кто будет освобождать
// эту память и как ?
fd.AttachDispatch(fds.GetItem(v) ) ;
.....
AllocSysString(); я как понимаю выполняет выделение памяти и копирование строки. А кто будет освобождать эту память и как ?
«
Последнее редактирование: 20-11-2007 17:32 от Алексей1153++
»
Записан
Да да нет нет все остальное от лукавого.
Serega
Гость
К то должен освобождать BSTR?
«
Ответ #1 :
08-10-2003 07:14 »
Используй врапперы и все станет намного проще
Код:
Fields20 fds;
Field20 fd;
_bstr_t str(_T("fdate"));
fd.AttachDispatch( fds.GetItem( _variant_t(str) ) ); // что это такое я плохо понимаю, обьясни plz для чего это
написать можно еще короче
Fields20 fds;
Field20 fd;
fd.AttachDispatch( fds.GetItem( _variant_t(_T("fdate")) ) );
только опять же не понятно зачем ты используешь Field20 и Fields20, намного удобнее FieldsPtr
«
Последнее редактирование: 20-11-2007 17:33 от Алексей1153++
»
Записан
PSD
Главный специалист
Offline
Пол:
К то должен освобождать BSTR?
«
Ответ #2 :
08-10-2003 10:31 »
Что есть FieldsPtr и где оно лежит?
Записан
Да да нет нет все остальное от лукавого.
Serega
Гость
К то должен освобождать BSTR?
«
Ответ #3 :
08-10-2003 10:37 »
Как ты так хитро работаешь с ADO ?
Я бы такого не выдержал
FieldsPtr это _com_ptr для Fields20
Ты с ATL имел дело ?
_bstr_t, _variant_t, _com_ptr, _com_error - это базовые врапперы ATL
Записан
Serega
Гость
К то должен освобождать BSTR?
«
Ответ #4 :
08-10-2003 10:40 »
пишем
Код:
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
и получаем два файла:
msado15.tlh - заголовки
msado15.tli - реализация врапперов
если надо могу прислать свои надстройки над этим
«
Последнее редактирование: 20-11-2007 17:35 от Алексей1153++
»
Записан
PSD
Главный специалист
Offline
Пол:
К то должен освобождать BSTR?
«
Ответ #5 :
08-10-2003 11:24 »
Странно в msado28 ее почемуто нет. Хотя я импортировал из tlb....
Записан
Да да нет нет все остальное от лукавого.
Serega
Гость
К то должен освобождать BSTR?
«
Ответ #6 :
08-10-2003 16:10 »
импорти из dll, так надежнее (наверно =)
Записан
PSD
Главный специалист
Offline
Пол:
К то должен освобождать BSTR?
«
Ответ #7 :
10-10-2003 04:31 »
По билигейтсу правельней с TLB но кто его слушать будет.
Записан
Да да нет нет все остальное от лукавого.
Serega
Гость
К то должен освобождать BSTR?
«
Ответ #8 :
10-10-2003 05:50 »
А как ты импортировал ?
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
К то должен освобождать BSTR?
Загружается...