Re: Can VB Create a Regular DLL?
- From: "Tony Proctor" <tony_proctor@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 1 Jun 2005 11:45:01 +0100
Come on guys... I've read quite a bit (though not all) of those previous
threads, and I'm convinced that everyone actually knows what they mean to
say, and that no one is fundamentally disagreeing. I'm as guilty as most for
not using the 100%-correct terms here, if there are any. I've alternately
referred to non-COM/ActiveX DLLs as standard, regular, plain, flat, and
vanilla (not all in the same sentence, ...until now).
Windows only has one type of DLL though. ActiveX DLLs simply expose specific
entry points that support the COM programming interface. For instance,
LoadLibrary will work on all DLL flavours, but regsvr32 will only work on
ones that expose those COM entry points.
I'm sure everyone really knows what Sam actually means. However, if anyone
can point to strictly accurate terms to use in this area then I'd be
interested too
Tony Proctor
"Sam Hobbs" <samuel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:#8laDjjZFHA.2288@xxxxxxxxxxxxxxxxxxxxxxx
> The following are previous threads in the VB newsgroups that discuss
> "Regular DLLs" in some way. I have provided quotes from most of them, but
> each thread should be read to get an accurate understanding of what they
> say. I have added some of my own comments, but not much. I hope the format
> is reasonable enough; I have used "<*>" to indicate the beginning of a
> paragraph. The messages are listed chronologically, beginning with the
most
> recent.
>
> The purpose of this post is to provide historical uses of the term
"Regular
> DLL" and similar terms. Except for a thread in October of 2000, all
messages
> I found prior August 26, 2004 use the term and concept of a regular DLL as
> something that VB does not create. Some of these discussions are examples
of
> why it helps to have a way to differentiate a COM/ActiveX/OLE/OCX type of
> DLL from a DLL that does not implement anything such as that.
>
> The links might be a problem in the future, since they are for the Beta
> version of Google Groups, but I hope that is not a big problem.
>
>
> How to make a C API available to VB 6? (Mar 1 2005)
>
http://groups-beta.google.com/group/microsoft.public.vb.enterprise/browse_thread/thread/4418aa07fa39f85e/5c33a729e10d6fec
> <*> Question: "One of our vendors has a C-language API that we'd like to
> provide access to for our VB 6 developers."
> <*> Answer from Ralph: "If it is a 'regular' DLL"
>
> Class export by regular DLL (vc++) be used in vb (Dec 7 2004)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/8fb22215ed0e7475/e496981b62519a40
> <*> The answer provided by Ralph in this thread is an example of the value
> of using the term "regular DLL". I have quoted some below, but there is
more
> that should be read.
> <*> Question: "I had a simple class export by regular DLL written by vc++"
> <*> Answer from Ralph: "A 'regular' DLL refers to a dynamic library which
> exports functions" .... "So what do you really have - a 'regular' DLL or
> what?"
>
> DLL or OCX? (Aug 26 2004)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/5292b87c309b36ee/dbc3ecc260b25af2
> <*> Question: "should I use an OCX or a DLL?"
> <*> Answer from Karl E. Peterson: "An OCX _is_ a DLL."
> <*> Answer from Ralph: "Another problem with saying "an OCX is a DLL", is
> what happens when the OP comes across, what we now call, a 'regular DLL'.
> Once again the same extension, but I am sure you would not want to imply
> that an OCX is a 'regular' DLL."
> <*> Answer from J French: "an OCX is a jumped up regular ( 'real' ) DLL"
> <*> Answer from Ralph: "To trivialize the difference between an OCX
> specification and other specifications packaged in Dlls, especially to a
> beginner, is excessive hair-splitting and a bit condescending. I believe
it
> is important to recognize and point out their functional differences - no
> matter what file extension they may have - to gain a better understanding
of
> Windows programming."
> <*> The discussion continues and it is important to read it. This is where
> the new philosophy that all DLLs are regular DLLs was born and the older
> wisdom began to fade. There is much, much more said by Ralph that must be
> read.
>
> activex.exe/standard exe activexdll/regular dll (Jul 6 2001)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/67b87a48302da438/2cd71ffeae3f0367
> <*> Question: "what the difference is between an activex exe and a regular
> one, a regular dll and an activex one?"
> <*> Answer from Ian R: "A regular dll is compiled code that can be loaded
by
> an application on demand."
>
> Difference between ActiveX DLL and Win32 DLL (Oct 25 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/cb87cbf945dac40a/f6fa919f2bee38c0
> <*> The thread should be read, since it is difficult to quote it fairly.
As
> far as I can tell, this is the first time someone has said that an ActiveX
> DLL is a regular DLL.
>
> How to know the dll methods in VB ??? (Jul 28 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.database/browse_thread/thread/67ca763e6e1f5ee1/50b9fd811565b76b
> <*> Question: "how can i refind the methods of a dll with a VB program"
> <*> Answer from Evert Timmer: "If it is a regular DLL"
>
> newbie DLL problem (Jul 23 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/709200e5ba4e6410/3b2e7e54ebedf7fb
> <*> In this thread, "black_adder69" says "If it is a "regular" dll and not
a
> COM object". The only relevance of that is that this is another of many
> people using the term "regular dll" and meaning that a regular dll is
> different from a DLL with a COM object.
>
> Calling Subs / Functions from External DLL's (May 18 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.controls/browse_thread/thread/5365e5dde7a59a0a/576fffe8e2354c79
> <*> Question: "I have created several simple .DLL files, and tried to call
> subs in them."
> <*> Answer from Ron Lessnick: "In VB you can only make activex dll's."
.....
> "regular dll are (usually) made either with a c or c++ compiler"
>
> Generating an ordinary DLL (Feb 2 2000)
>
http://groups-beta.google.com/group/microsoft.public.sqlserver.programming/browse_thread/thread/a9e4718d82fb422d/9f732bc759d75d4c
> <*> Question: "Can I generate an ordinary DLL with VB6?"
> <*> Answer from D. Patrick Hoerter: "No, you can only create ActiveX dll's
> from VB."
>
> many vb problems (Jan 25 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/fadaa17301b3c7ec/dbb8db925d8789d6
> <*> Question: "difference between activex dll and a normal dll"
> <*> Answer from Ron Ruble: "In a regular DLL, simple, non-object functions
> are exposed for your use, and you use a Declare statement to make them
> available."
>
> Making a regular dll with VB (Jan 25 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/2efa4b24c9f34aac/94be811210894db5
> <*> Question: "is there a way to just make a "normal" dll in VB"
> <*> Answer from Dan Scarborough: "You can't do this type of thing in VB."
>
> Beginner question (Jan 19 2000)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/f9a31ae5f399018a/951f0196c8c6c0f5
> <*> Question: "it possible to write a regular DLL in Visual Basic?"
> <*> Answer from Randy Birch: "No. VB creates only COM objects, in this
case
> a COM DLL."
>
> Can VB6 be used to create a regular (non-ActiveX/COM) .dll? (Nov 21 1999)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/71428953f9934e5e/5538d1e5ca9c9e32
> <*> Question: "Can I use VB to create a regular .dll?"
> <*> Answer from Jeff Johnson: "No. "
>
> What's the difference between an ActiveX dll & a windows dll? (Feb 24
1999)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/b0b27cdb76faf390/6725c526f7982a8a
> <*> This thread is interesting due to comments from J Smith, most of which
> are not directly related. In particular, he says that the the term
"ActiveX"
> is confusing and that Microsoft seems to be intentionally confusing. The
> following quotes just the most relevant portions of the thread.
> <*> Question: "what the difference between an ActiveX dll & a regular
> windows dll is"
> <*> Answer from VB-Joker: "You need C++ or another tool to create "normal"
> DLL's."
> <*> Answer from J Smith: "you can't create "traditional" DLL's using VB,
at
> least, not without buying additional tools and utilities"
>
> Can't create a simple DLL in VB 6.0 (Jan 12 1999)
>
http://groups-beta.google.com/group/microsoft.public.vb.general.discussion/browse_thread/thread/34e73d4409fc669f/e488aba420e4d232
> <*> There is so much in this thread that I consider worthwhile to read,
> especially from "J Smith", that everything in this thread should be read.
It
> is so relevant to discussions in the past couple of weeks.
> <*> Question: "Can I create a simple DLL (a simple library of functions
and
> procedures) too?."
> <*> Answer from LarryC: "Nope, function DLLs are the providence of VC,
BVC,
> Delphi, etc."
> <*> That's just the beginning. For the best stuff, read the thread.
>
> Can you write a DLL in VB5? Or what? (Nov 20 1998)
>
http://groups-beta.google.com/group/microsoft.public.vb.enterprise/browse_thread/thread/d41c1395d3dd85f9/3691b7560dfc09f2
> <*> Note that there is a lot of discussion in this thread from Frank Carr.
> The answer from Mark Rae quoted below is near the end (bottom) of the
> thread.
> <*> Question: "Is it actually possible to write a DLL in VB5 to be used by
> other VB programs?"
> <*> Answer from Mark Rae: "Is it actually an ActiveX DLL that you are
trying
> to create or a "regular" DLL? If the latter, then VB can't do it natively,
> though you might take a look at a product called Visual DLL which allows
you
> to write true Win32 DLLs in VB."
> <*> Also, at the bottom, Simon Keefe says "Yes, I am trying to create a
> regular DLL.".
>
> VB5 crashes during DLL compilation (Jun 28 1997)
>
http://groups-beta.google.com/group/microsoft.public.vb.bugs/browse_thread/thread/22e4805edf30bdc/7344e4fc73b3bd5b
> <*> Question: "I am still not sure if VB5 is really capable of creating
> regular DLLs."
> <*> Answer from Ulrich Foerster: "VB5 is NOT capable of creating *REGULAR*
> DLLs."
>
> Creating a VB DLL callable from multiple development environments (Mar 5
> 1997)
>
http://groups-beta.google.com/group/microsoft.public.vb.enterprise/browse_thread/thread/6ff92f72cd0a830/61679cef7520ad8c
> <*> Question: "Can you make a regular DLL from VB"
> <*> Answer from Jim Ferguson: "VB cannot create DLL's which can be used
> except by OLE automation."
>
>
.
- Follow-Ups:
- Re: Can VB Create a Regular DLL?
- From: Ray Mercer
- Re: Can VB Create a Regular DLL?
- From: Jonathan Wood
- Re: Can VB Create a Regular DLL?
- References:
- Can VB Create a Regular DLL?
- From: Sam Hobbs
- Can VB Create a Regular DLL?
- Prev by Date: Print Queue VBA
- Next by Date: Re: CM_Reenumerate_DevNode in VB
- Previous by thread: Re: Can VB Create a Regular DLL?
- Next by thread: Re: Can VB Create a Regular DLL?
- Index(es):
Relevant Pages
|