From: ralph on
On Fri, 2 Jul 2010 08:14:50 -0400, "Kevin Provance" <k(a)p.c> wrote:

>
>"David Kaye" <sfdavidkaye2(a)yahoo.com> wrote in message
>news:i0jv1r$77v$1(a)news.eternal-september.org...
>: Tony Toews <ttoews(a)telusplanet.net> wrote:
>:
>: >That's why I'm only using user controls with no external dependencies
>: >such as DLLs or OCXs.
>:
>: The inherent controls come from within MSVBVM.
>
>That is incorrect. Unless you truly know the answer, please don't speculate
>as doing so when you are incorrect will confuse folks rather than help them.
>
>The inherent VB controls (command buttons, textboxes, checkboxes, etc, etc)
>are classes in the VB6.OLB. That is a separate file from the VBxMSVBVM.DLL.
>Those controls do NOT come from within it.

"Object Libraries" (OLB) files are "type libraries". They contain no
executable code nor provide any storage, they contain only tokenize
binary declarations.

In the dawn of COM Microsoft introduced a sub-set of IDL called the
"Object Definition Language" (ODL). ODL files were compiled using the
MkTypLib compiler and used a more "VB" syntax and format (read non-C
<g>).

Later on, MS migrated to using a more complete IDL, which uses the
MIDL compiler. Technically both technologies were advancing at the
same time - there was a moment in time when we had both "object
libraries" and "type libraries". While the MkTypLib and ODL became
obselete for creating type libraries, the .OLB extension and ODL are
still with us in some circles.

[eg, the "IDL" produced by the OleViewer is actually "ODL", and not
necessarily a true reflection of the original IDL a type library is
compiled from. However, it is all the information that VB can use or
process - so all is well. <g>]

As Office was the primary target for most automation and commonly
delivered OLBs for use by VB/VBA/MFC apps, they are also often (though
erroneously) called "Office Libraries".

The VB Editor/Parser uses the VB6.OLB file as a "header file" to
provide declarations of items in the msvbvm (vb virtual machine).
Controls are just one of the many items declared in this object
library.

-ralph
From: ralph on
On Fri, 2 Jul 2010 12:55:50 -0400, "Mayayana"
<mayayana(a)invalid.nospam> wrote:

>| Eduardo's quote:
>|
>| "VB6.OLB is a type library that contains the declaration of interfaces
>used
>| by VB controls. You don't have to distribute it with the application
>because
>| the type library is used only at compile time."
>|
> So vb6.olb is just an internal tool for the IDE, which
>then translates to CreateWindowEx calls and WindowProcs
>at compile time? That makes sense. I never thought
>of it that way.
>

It is a tool, but technically not just one for the "Visual Basic for
Windows Development" (VB) product, it is used by the VBA Editor/Parser
(which is integrated into VB) which of course is available in many
products.

In fact any Application (eg, a C project) that wanted to use the VM
could import the type library and start chewing. This was often done
in the old days in attempts to de/re-engineer the VM and delve into
its mysteries. Unfortunately, an exercise which I discovered too often
led to a quagmire of even more questions and very few answers. But
you're not a real geek unless you try it at least once. <g>

-ralph



From: Paul Clement on
On Fri, 2 Jul 2010 08:14:50 -0400, "Kevin Provance" <k(a)p.c> wrote:

� : >That's why I'm only using user controls with no external dependencies
� : >such as DLLs or OCXs.
� :
� : The inherent controls come from within MSVBVM.

� That is incorrect. Unless you truly know the answer, please don't speculate
� as doing so when you are incorrect will confuse folks rather than help them.

� The inherent VB controls (command buttons, textboxes, checkboxes, etc, etc)
� are classes in the VB6.OLB. That is a separate file from the VBxMSVBVM.DLL.
� Those controls do NOT come from within it.

Talk about confusing people. Actually he is right in what he said, but I'm sure
you've been corrected by now. The intrinsic controls have always been in the
Visual Basic runtime, all the way back to version 1.0.

Paul
~~~~
Microsoft MVP (Visual Basic)
From: David Kaye on
"Kevin Provance" <k(a)p.c> wrote:

>The inherent VB controls (command buttons, textboxes, checkboxes, etc, etc)
>are classes in the VB6.OLB.

Yipes. You're right. I knew that. Too many sleepless nights...

From: David Kaye on
Jason Keats <jkeats(a)melbpcDeleteThis.org.au> wrote:

>I believe Eduardo, as I've never heard of anyone distributing it with
>their applications.

As I remember, VB6.OLB is used only at design time and its classes are
compiled into the EXE produced by the VB enviironment.