On Fri, 4 Nov 2011 22:10:36 +0100, "Leif Ekblad" <
le...@rdos.net>
wrote:
>Hans-Bernhard Bröker:
>> Seems you just demonstrated yourself that no, we can't, because even
>> _removing_ that error, by your own observation, didn't make things work.
>
>But it DID work. I built the resource-DLLs yesterday with the OW IDE, and it
>worked just fine. What didn't work was that I needed a dummy LibEntry
>procedure stub in order to build them, but that was also the case with
>Borland. However, with Borland, I could use the same stub for all the
>different language DLLs in the same directory, but with OW, I need to create
>a custom stub for each of them.
If I understand this correctly, every Win16 DLL created with OW
includes a LibEntry() defined in ow\rel2\src\startup\win\libentry.asm.
It is used for startup code. I seriously doubt that a special version
is needed for each and every DLL.
Searching online for LibEntry() produces a Microsoft KnowledgeBase
article (
http://support.microsoft.com/kb/69894) that applies to
Windows 3.0 and 3.1. It also contains startup code.
And both call LibMain(). Back in the 90's, when I was playing around
with Watcom and C++, I created DLLs containing only two items:
1) A copy of my LibMain(), which was the same for each.
2) The resources.
These were also Win16 DLLs.
>> What's so important about keeping those DLLs resource-only? Why can't you
>> live with a dummy export?
>
>I kind of dislike it when I have to live with lesser functionality after
>moving from BCC to OW :-)
BCC, it appears, required you to have a function in the DLL as well.
Apparently, however, it appearsthat it is satisfied with the library
startup code (code that sets up segmentation and similar arcana),
while OW wants an actual LibMain() function, however trivial it may
be.
Perhaps you should let OW worry about LibEntry(), and focus on
LibMain(). Unless you are implementing a new target that needs its own
LibEntry(), of course, in which case you probably need a LibEntry()
for use with all DLLs and a dummy LibEntry() for the (nearly)
all-resource DLLs.
--
"'If God foreknew that this would happen,
it will happen.'"