1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
1 | |
Как сделать SafeArray (MFC)?22.12.2008, 16:58. Показов 3764. Ответов 15
Метки нет (Все метки)
Сабж, как используя MFC создать SafeArray и сделать метод который принимая их контейнера массив вариантов и пихал его в SafeArray (размеры массива харанее неизвестны).
Интересует конкретный момент приема данных из контейнера(в методе) и инициализации SafeArray. Блин, совсем запутался что там и как :-(((
0
|
22.12.2008, 16:58 | |
Ответы с готовыми решениями:
15
[MFC] Как сделать картинку кнопкой Как сделать рабочий ехе в MFC Как сделать MFC статической, а не динамической? MFC как сделать, или нажать кнопку |
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
22.12.2008, 19:27 | 2 |
Посмотри пример от Microsoft, может поможет:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q140202 Удачи, Владимир
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
||||||||||||||||
23.12.2008, 11:29 [ТС] | 3 | |||||||||||||||
Нет, я явно делаю что-то не так :-(
Вот метод в моем ActiveX контроле:
При чем происходит это при попытке узнать кол-во элементов массива, то есть если в методе закомментарить строчки вида:
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
||||||
23.12.2008, 11:50 | 4 | |||||
Выдержка из примера от Microsoft:
Проверь еще раз! С уважением, Владимир
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
23.12.2008, 12:02 [ТС] | 5 |
'USES_CONVERSION' : undeclared identifier
Я пишу ActiveX control и проект у меня не просто MFC-шный а 'MFC ActiveX control wizard'. Да, Visual Studio 6 (пока без сервиспаков :-( ).
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|||||||||||
23.12.2008, 12:07 | 6 | ||||||||||
Забудь про USES_CONVERSION
Смотри как они преобразуют vArray (в твоем случае myData):
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
23.12.2008, 12:11 | 7 |
Без сервис паков - это плохо, нужно хотя бы SP3 для нормальной работы с ActiveX в VB.
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
23.12.2008, 12:17 [ТС] | 8 |
Спасибо, заработало !
P.S. Ну вы это, не расслабляйтесь, у меня еще много вопросов будет :-)))
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
23.12.2008, 12:28 | 9 |
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
24.12.2008, 09:39 [ТС] | 10 |
Привет, продолжим? :-)
Передал я массив вариантов как написано в примере выше, массив двумерный размеры определяются, всё Ок, но вот что-то мне не вытащить элементы массива, как мне конвертнуть это в текст? Внагляк сделать так: char buffer[20]; buffer = pbstr[i][j]; есс-но не пашет... Во-от....
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|||||||||||
24.12.2008, 11:44 | 11 | ||||||||||
Продолжим следовать строкам примера (ссылку на который я бросил в самом начале и кусок кода приведен выше) ...
Для начала получи указатель на данные из SafeArray:
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
24.12.2008, 11:50 [ТС] | 12 |
-> BSTR bstrTemp = OLE2T(pbstr[i][j]);
error C2065: '_lpw' : undeclared identifier error C2065: '_convert' : undeclared identifier :-(
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
24.12.2008, 12:50 [ТС] | 13 |
И кстати, если у меня двумерный массив то обращаться к элементу так:
pbstr[i*sizeofRow+j] ???
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
24.12.2008, 13:01 | 14 |
Идем в MSDN, набираем в строке поиска 'OLE2T macros'.
Первая ссылка - String Conversion Macros: http://msdn.microsoft.com/library/en-us/vcmfc98/html/_atl_string_conversion_macros.asp Там читаем Note: When using an ATL string conversion macro, specify the USES_CONVERSION macro at the beginning of your function in order to avoid compiler errors. По ссылке на TN059: Using MFC MBCS/Unicode Conversion Macros: http://msdn.microsoft.com/library/en-us/vcmfc98/html/_mfcnotes_tn059.asp находим - All of the macros reside in AFXPRIV.H То есть все что надо сделать это начале файла включить: #include 'afxpriv.h' и в начале функции вызвать: USES_CONVERSION; Дерзайте, Владимир
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
24.12.2008, 13:28 | 15 |
Кстати, в MSDN есть хорошие примерчики к описаниям функций:
http://msdn.microsoft.com/library/en-us/automat/htm/chap7_5bs1.asp http://msdn.microsoft.com/library/en-us/automat/htm/chap7_5p84.asp и вообще http://msdn.microsoft.com/library/en-us/automat/htm/chap7_5dyr.asp Впрочем, есть такой замечательный класс COleSafeArray: http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_COleSafeArray.asp http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_colesafearray_class_members.asp Который все это дело заворачивает и упрощает см. http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_colesafearray.3a3a.accessdata.asp С уважением, Владимир
0
|
1 / 1 / 0
Регистрация: 09.12.2008
Сообщений: 87
|
|
24.12.2008, 14:10 [ТС] | 16 |
Спасибо ! :-)
0
|
24.12.2008, 14:10 | |
24.12.2008, 14:10 | |
Помогаю со студенческими работами здесь
16
Как сделать просмотр HTML в MFC Диалоге? Как сделать посредством MFC бегущую строку? Как сделать чтобы кнопка в диалоговом окне не подсвечивалась до того, как на нее наведешь мышкой? (MFC) MFC Приложение: как сделать одновременное использование кнопок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |