информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] конченный ламер продолжает рубить... 08.02.02 21:58  Число просмотров: 1148
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> честно говоря, ничего в этом не понимаю, но надо, надо
> :\....
> Поэтому и просил пример...
>
> > Skoree vsego kogda ty sozdaval control ty dobavi HWND
> > propery, i tvoi control based on IPersistXXX type
> > interfaces i v etom cluchae VB pytaetsi chitat` HWND
> > property kotory invalid potomuchto on not set
> (conechno zhe
> > HWND eche ne inicializirovan, a kontainer pytaetsia
> > ispolzovat etot HWND kotory invalid). Voobchem
> otkomentirui
> > etu liniu code v header tvoego controla:
> >
> > // PROP_ENTRY("HWND", DISPID_HWND, CLSID_NULL)
> > 

---
>
> орёт
>
> d:\blablabla\mytextboxcontrol.h(148) : error C2440:
> 'initializing' : cannot convert from 'unsigned short [5]'
> to 'const struct _GUID *'
> 	Types pointed to are unrelated; conversion requires
> reinterpret_cast, C-style cast or function-style cast
> 

---
>
> и вообще, я прально понимаю (точнее, обезьянничаю с
> готового кода), что надысь написать след. конструкцию:
>
>
> 
>  BEGIN_COM_MAP( MyTextBoxControl )
>    
>    COM_INTERFACE_ENTRY( IMyTextBoxControl )
>    COM_INTERFACE_ENTRY2( IPersist, IPersistStreamInit )
>    COM_INTERFACE_ENTRY( IPersistStreamInit )
> 
>    COM_INTERFACE_ENTRY_IID( __uuidof(IDispatch),
> IMyTextBoxControl )
>    COM_INTERFACE_ENTRY_NOINTERFACE( IProvideClassInfo2 )
>    COM_INTERFACE_ENTRY_AGGREGATE_BLIND( m_textBox.m_ptr )
>    COM_INTERFACE_ENTRY_CHAIN( MyTextBoxControlImpl )
> 
>  END_COM_MAP()
> 
> 

---
>
> а при описании класса
>
>
> class MyTextBoxControl : public MyTextBoxControlImpl,
> 			public IPersistStreamInit,
> 			public SomeMyEventsHandler
> {
>  public: 
> 
>    MyTextBoxControl();
>    void Constructor();
>    void Destructor();
>  
>  public: // IPersist
> 
>    HRESULT _stdcall GetClassID( CLSID *pClassID );
> 
>  public: // IPersistStreamInit
> 
>    HRESULT _stdcall IsDirty();
>    HRESULT _stdcall Load( LPSTREAM pStm );
>    HRESULT _stdcall Save( LPSTREAM pStm, BOOL fClearDirty
> );
>    HRESULT _stdcall GetSizeMax( ULARGE_INTEGER* pCbSize );
>    HRESULT _stdcall InitNew();
> 
> 

---
>
> мож я какой интерфейс недодерживаю/передерживаю?.. ыыы..
> тёмный лес....
>
> чесслова, весь вчерашний день искал нормальный хелп/пример
> в MSDN, codeguru и т.п... дельного и доступного не
> обнаружил...

Strannyi kode kakoi-to. a che ty wizardom ne polzueshsia?

Kak u tebia MyTextBoxControlImpl implementirovan??

Mozhet chto net tak ty namudril v IPersistStreamInit (Load and Save), eto tak?
voobche kin`ka "tvoicontrol.h" i "tvoicontrol.cpp"

Poprobui debagirovat s tracami:
define ati tracy:

#define ATL_TRACE_LEVEL 4
#define ATL_TRACE_CATEGORY 0xFFFFFFFF
i posmotri v debugere chto tam pechataet, i ty uvidish gde neponiatka.
Potom postavish breakpoints o pokovyriasia.


<programming>
[C++] ATL не поможете с контролом? 07.02.02 15:41  
Автор: paganoid Статус: Member
<"чистая" ссылка>

Киньте , если у кого есть в закромах, ссылку на пример контрола, написанного с исп. ATL, аггрегирущего TextBox...

вродь все написал.. когда в VBA швыряю контрол на форму, сперва идет сообщение "Не удается завершить операцию из-за ошибки 800a88ce".. далее идут ошибки "Неопределенная ошибка".. Контрол так и не кажется..

в ActiveX Control Tester контрол видно нормально...

ыы....
[C++] ATL не поможете с контролом? 07.02.02 22:53  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
>
> Киньте , если у кого есть в закромах, ссылку на пример
> контрола, написанного с исп. ATL, аггрегирущего TextBox...
>
> вродь все написал.. когда в VBA швыряю контрол на форму,
> сперва идет сообщение "Не удается завершить операцию из-за
> ошибки 800a88ce".. далее идут ошибки "Неопределенная
> ошибка".. Контрол так и не кажется..
>
> в ActiveX Control Tester контрол видно нормально...
>
> ыы....
Skoree vsego kogda ty sozdaval control ty dobavi HWND propery, i tvoi control based on IPersistXXX type interfaces i v etom cluchae VB pytaetsi chitat` HWND property kotory invalid potomuchto on not set (conechno zhe HWND eche ne inicializirovan, a kontainer pytaetsia ispolzovat etot HWND kotory invalid). Voobchem otkomentirui etu liniu code v header tvoego controla:
//	PROP_ENTRY("HWND", DISPID_HWND, CLSID_NULL)

---
[C++] конченный ламер продолжает рубить... 08.02.02 10:47  
Автор: paganoid Статус: Member
Отредактировано 08.02.02 10:48  Количество правок: 1
<"чистая" ссылка>
честно говоря, ничего в этом не понимаю, но надо, надо :\....
Поэтому и просил пример...

> Skoree vsego kogda ty sozdaval control ty dobavi HWND
> propery, i tvoi control based on IPersistXXX type
> interfaces i v etom cluchae VB pytaetsi chitat` HWND
> property kotory invalid potomuchto on not set (conechno zhe
> HWND eche ne inicializirovan, a kontainer pytaetsia
> ispolzovat etot HWND kotory invalid). Voobchem otkomentirui
> etu liniu code v header tvoego controla:
>
> //	PROP_ENTRY("HWND", DISPID_HWND, CLSID_NULL)
> 

---

орёт
d:\blablabla\mytextboxcontrol.h(148) : error C2440: 'initializing' : cannot convert from 'unsigned short [5]' to 'const struct _GUID *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

---

и вообще, я прально понимаю (точнее, обезьянничаю с готового кода), что надысь написать след. конструкцию:


 BEGIN_COM_MAP( MyTextBoxControl )
   
   COM_INTERFACE_ENTRY( IMyTextBoxControl )
   COM_INTERFACE_ENTRY2( IPersist, IPersistStreamInit )
   COM_INTERFACE_ENTRY( IPersistStreamInit )

   COM_INTERFACE_ENTRY_IID( __uuidof(IDispatch), IMyTextBoxControl )
   COM_INTERFACE_ENTRY_NOINTERFACE( IProvideClassInfo2 )
   COM_INTERFACE_ENTRY_AGGREGATE_BLIND( m_textBox.m_ptr )
   COM_INTERFACE_ENTRY_CHAIN( MyTextBoxControlImpl )

 END_COM_MAP()


---

а при описании класса

class MyTextBoxControl : public MyTextBoxControlImpl,
                        public IPersistStreamInit,
                        public SomeMyEventsHandler
{
 public: 

   MyTextBoxControl();
   void Constructor();
   void Destructor();
 
 public: // IPersist

   HRESULT _stdcall GetClassID( CLSID *pClassID );

 public: // IPersistStreamInit

   HRESULT _stdcall IsDirty();
   HRESULT _stdcall Load( LPSTREAM pStm );
   HRESULT _stdcall Save( LPSTREAM pStm, BOOL fClearDirty );
   HRESULT _stdcall GetSizeMax( ULARGE_INTEGER* pCbSize );
   HRESULT _stdcall InitNew();


---

мож я какой интерфейс недодерживаю/передерживаю?.. ыыы.. тёмный лес....

чесслова, весь вчерашний день искал нормальный хелп/пример в MSDN, codeguru и т.п... дельного и доступного не обнаружил...
[C++] конченный ламер продолжает рубить... 08.02.02 21:58  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> честно говоря, ничего в этом не понимаю, но надо, надо
> :\....
> Поэтому и просил пример...
>
> > Skoree vsego kogda ty sozdaval control ty dobavi HWND
> > propery, i tvoi control based on IPersistXXX type
> > interfaces i v etom cluchae VB pytaetsi chitat` HWND
> > property kotory invalid potomuchto on not set
> (conechno zhe
> > HWND eche ne inicializirovan, a kontainer pytaetsia
> > ispolzovat etot HWND kotory invalid). Voobchem
> otkomentirui
> > etu liniu code v header tvoego controla:
> >
> > // PROP_ENTRY("HWND", DISPID_HWND, CLSID_NULL)
> > 

---
>
> орёт
>
> d:\blablabla\mytextboxcontrol.h(148) : error C2440:
> 'initializing' : cannot convert from 'unsigned short [5]'
> to 'const struct _GUID *'
> 	Types pointed to are unrelated; conversion requires
> reinterpret_cast, C-style cast or function-style cast
> 

---
>
> и вообще, я прально понимаю (точнее, обезьянничаю с
> готового кода), что надысь написать след. конструкцию:
>
>
> 
>  BEGIN_COM_MAP( MyTextBoxControl )
>    
>    COM_INTERFACE_ENTRY( IMyTextBoxControl )
>    COM_INTERFACE_ENTRY2( IPersist, IPersistStreamInit )
>    COM_INTERFACE_ENTRY( IPersistStreamInit )
> 
>    COM_INTERFACE_ENTRY_IID( __uuidof(IDispatch),
> IMyTextBoxControl )
>    COM_INTERFACE_ENTRY_NOINTERFACE( IProvideClassInfo2 )
>    COM_INTERFACE_ENTRY_AGGREGATE_BLIND( m_textBox.m_ptr )
>    COM_INTERFACE_ENTRY_CHAIN( MyTextBoxControlImpl )
> 
>  END_COM_MAP()
> 
> 

---
>
> а при описании класса
>
>
> class MyTextBoxControl : public MyTextBoxControlImpl,
> 			public IPersistStreamInit,
> 			public SomeMyEventsHandler
> {
>  public: 
> 
>    MyTextBoxControl();
>    void Constructor();
>    void Destructor();
>  
>  public: // IPersist
> 
>    HRESULT _stdcall GetClassID( CLSID *pClassID );
> 
>  public: // IPersistStreamInit
> 
>    HRESULT _stdcall IsDirty();
>    HRESULT _stdcall Load( LPSTREAM pStm );
>    HRESULT _stdcall Save( LPSTREAM pStm, BOOL fClearDirty
> );
>    HRESULT _stdcall GetSizeMax( ULARGE_INTEGER* pCbSize );
>    HRESULT _stdcall InitNew();
> 
> 

---
>
> мож я какой интерфейс недодерживаю/передерживаю?.. ыыы..
> тёмный лес....
>
> чесслова, весь вчерашний день искал нормальный хелп/пример
> в MSDN, codeguru и т.п... дельного и доступного не
> обнаружил...

Strannyi kode kakoi-to. a che ty wizardom ne polzueshsia?

Kak u tebia MyTextBoxControlImpl implementirovan??

Mozhet chto net tak ty namudril v IPersistStreamInit (Load and Save), eto tak?
voobche kin`ka "tvoicontrol.h" i "tvoicontrol.cpp"

Poprobui debagirovat s tracami:
define ati tracy:

#define ATL_TRACE_LEVEL 4
#define ATL_TRACE_CATEGORY 0xFFFFFFFF
i posmotri v debugere chto tam pechataet, i ty uvidish gde neponiatka.
Potom postavish breakpoints o pokovyriasia.


уточнение выяснилось - это специфика VBA 08.02.02 13:00  
Автор: paganoid Статус: Member
<"чистая" ссылка>
уродский MS... Контрол работает в VB, в ActiveX Control Tester, но не работает в VBA (!)...
уточнение выяснилось - это специфика VBA 08.02.02 22:24  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> уродский MS... Контрол работает в VB, в ActiveX Control
> Tester, но не работает в VBA (!)...

Kak eto но не работает в VBA chto ne rabotaet?? podrobnee
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach