DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 2 of 2
  1. #1
    Lobo Guest

    Ops! I forgot one!

    Hey, and what about the "VBMsoStdCompMgr" window? Does anyone have an idea
    about it?

    Soon: VBFX - http://www.fatorx.com.br

    Dan Appleman <dan@desaware.com> wrote in message
    > Lobo wrote:
    > > Hi Dan,
    > >
    > > I have three questions for you:
    > >
    > > 1) Recently I had a real problem. I started building a class that would
    > > receive a TextBox and a CommandButton controls. Then, I would set their
    > > references to two private variables that used the 'WithEvents' keyword

    > > handle their events. Well, these worked just fine, but, it just doesn't

    > > when the controls I'm trying to pass by are part of an array. It seems

    > > VB implements/inherits an interface to the controls that are part of an
    > > array to get the 'Index' parameter on the events, besides the other

    > > of a collection. So, this error comes up: Error 459 - 'Object or class

    > > not support the set of events'. I've tried to figure it out without any
    > > success. Any idea??
    > >

    > Thou shalt not pass references to controls as parameters to classes. I've

    > of all sorts of problems when
    > people do this.
    > I know that's not the answer you want to hear, but I really would suggest

    > reevaluate your design.
    > >
    > > 2) How much do you know about those hidden windows that VB creates

    > > classes names: "OleDdeWndClass 0x########", "OleMainThreadWndClass
    > > 0x########", "VBMsoStdCompMgr", "VBBubbleRT6", "ThunderRT6Main",
    > > "VBFocusRT6")? 'Cause I know just a little... Do you know where we can

    > > some information about them? (it seems that MSDN doesn't have too much

    > > about it)
    > >

    > None of these are documented, but I know a little bit about a couple of

    > ThunderRT6Main is the main hidden window for your VB application (every VB
    > application has one - it's the main
    > top level application window - see my Win32 API book for a bit more about

    > window).
    > OleMainThreadWndClass is one of the windows that is used to marshal COM

    > calls. Marshaling on a local system is handled internally by a sent or

    > message.
    > I suspect OleDdeWndClass is the window used for DDE messages (DDE is also

    > SendMessage/PostMessage based protocol under the hood).
    > I have no idea what the other two are. VBBubbleRT6 seems especially

    > Anyone have an idea?
    > >
    > > 3) I was trying to figure out how the strings are handled in VB. The
    > > variable-length string was just straightforward: using 'VarPtr' function

    > > get the pointer to where the real data is stored (just the same pointer

    > > would get using 'StrPtr' function), and, the string is allocated in a

    > > place every time you make a change to it. So, I thought that the
    > > fixed-length string would be just the same, with the difference that the
    > > pointer where the real data stands would never change. But, it was not

    > > that. With the 'StrPtr' I always can get the data but its pointer is

    > > changing and couldn't figure out how to get this one only by using the
    > > 'VarPtr' function... Can you give me the light?? (Note, this is just a
    > > matter of understanding some VB's internals)
    > >

    > Almost everything you ask here is covered in incredible detail in my

    > book "Dan Appleman's Win32 API Puzzle Book and Tutorial for VB

    Programmers". In
    > that book you'll learn all about VarPtr, StrPtr and the magic of BSTR's

    (the OLE
    > subsystem strings which VB uses). Conversions from Unicode and ANSI, etc.
    > As for StrPtr on fixed strings - I'm pretty sure it converts your fixed

    > into a temporary dynamic string before returning the pointer - that's why

    > in a different memory location each time.
    > Dan

  2. #2
    Mattias Sjögren Guest

    Re: Ops! I forgot one!

    >Hey, and what about the "VBMsoStdCompMgr" window? Does anyone have an idea about it?


    I think it's a window related to COM marshaling too, used by VB on
    Windows NT. Matthew Curland uses it in his threading code in the June
    99 VBPJ.


    Mattias Sjögren (MCP) - mattiass @ hem.passagen.se
    VB+ http://hem.spray.se/mattias.sjogren/
    Please send questions/replies to the newsgroups

Similar Threads

  1. Hey, Max! [Was: Have you forgot what made VB great?]
    By W.E. (Bill) Goodrich, PhD in forum .NET
    Replies: 62
    Last Post: 01-15-2002, 08:52 AM
  2. Replies: 5
    Last Post: 08-28-2001, 08:47 AM
  3. Re: Oops - forgot - access reports
    By Kevin MacCallum in forum VB Classic
    Replies: 2
    Last Post: 11-10-2000, 06:34 PM
  4. Oops! Forgot Parameter Types
    By Sean Kelly in forum VB Classic
    Replies: 0
    Last Post: 08-19-2000, 10:37 AM
  5. New French VB Site (sorry I forgot the adress)
    By Richard Clark in forum vb.announcements
    Replies: 0
    Last Post: 04-11-2000, 08:35 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center
Latest Articles
Questions? Contact us.
Web Development
Latest Tips
Open Source

   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.