digitalmars.D - Mysterious programme termination
- 0ffh (14/14) Mar 25 2007 Hi,
- Saaa (6/9) Mar 25 2007 Posting it in learn :D
- 0ffh (4/9) Mar 25 2007 I suppose, you're right! Apologies all-round!
- David L. Davis (33/54) Mar 26 2007 0ffh,
Hi, forgive me if I am being really stupid, but I have something here that really kind of mystifies me. I have tried out the DLL code of spottedtiger, found at http://spottedtiger.tripod.com/D_Language/D_WinDLL.html . Trouble is: When I unload the DLL, no matter if I use the Windows API example or std.loader, the whole programme terminates. It seems that this was not noticed before, as unloading the library is the last thing done in the example. Just try to add a writefln after FreeLibrary, respectively ExeModule_Release. Any suggestions? Regards, 0ffh
Mar 25 2007
Any suggestions? Regards, 0ffhPosting it in learn :D Personally I think all questions should be asked in learn and after some discussion maybe reposted in whatever group is best. Just wanted to say that once. But maybe I read learn as help. Ah well... its out now :D
Mar 25 2007
Saaa wrote:Posting it in learn :D Personally I think all questions should be asked in learn and after some discussion maybe reposted in whatever group is best. Just wanted to say that once. But maybe I read learn as help. Ah well... its out now :DI suppose, you're right! Apologies all-round! BTW Walter's loader for Windows works fine, so I'm content... :) Regards, Frank
Mar 25 2007
0ffh,
Sorry to hear you had some issues, but I've copied and pasted the all
example code from my site into files, and was able to compile / run everything
just fine.
Have you modified an example, and that's the version which doesn't work?
Also, may I ask which version of D (dmd), on which Windows' version did you
compile and run on?
-----------
Below, under WinVista Utl 32-bit with D (dmd) v1.010 using the example from the
MKoD site...shows the command (cmd.exe) line compiles, along with running the
programs:
C:\dmd\MKOD_ex>dmd WinDLL.d WinDLL.def
C:\dmd\bin\..\..\dm\bin\link.exe WinDLL,,,user32+kernel32,WinDLL.def/noi;
C:\dmd\MKOD_ex>dmd Main_WinAPI.d
C:\dmd\bin\..\..\dm\bin\link.exe Main_WinAPI,,,user32+kernel32/noi;
C:\dmd\MKOD_ex>main_winapi
sLibName="C:\dmd\MKOD_ex\WinDLL.dll", hLibWinDLL=10000000
Testing isroman( 'C' ) = 1
Testing isromanstr( "MMVC" ) = 1
Testing isromanstr( "ABCDEF" ) = 0
C:\dmd\MKOD_ex>dmd Main_Loader.d
C:\dmd\bin\..\..\dm\bin\link.exe Main_Loader,,,user32+kernel32/noi;
C:\dmd\MKOD_ex>main_loader
"C:\dmd\MKOD_ex\WinDLL.dll" is loaded, hLibWinDLL=10000000
Testing isromanstr("MMVC") = 1
Testing isromanstr( "ABCDEF" ) = 0
C:\dmd\MKOD_ex>
------------
Everything appears to be compiling and running as it should...maybe you
could you show an example of your commandline.
Kind Regards,
David L. 'SpottedTiger' Davis
(Feel free to ask me questions about this code using my email, or post
questions into the learn section)
-------------------------------------------------------------------
"Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
-------------------------------------------------------------------
MKoD: http://spottedtiger.tripod.com/D_Language/D_Main_XP.html
0ffh Wrote:
Hi,
forgive me if I am being really stupid, but I have something
here that really kind of mystifies me.
I have tried out the DLL code of spottedtiger, found at
http://spottedtiger.tripod.com/D_Language/D_WinDLL.html .
Trouble is: When I unload the DLL, no matter if I use the
Windows API example or std.loader, the whole programme
terminates. It seems that this was not noticed before,
as unloading the library is the last thing done in the
example. Just try to add a writefln after FreeLibrary,
respectively ExeModule_Release.
Any suggestions?
Regards,
0ffh
Mar 26 2007









0ffh <spam frankhirsch.net> 