Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to kill a dll in memory?

Posted on 2000-04-02
5
Medium Priority
?
904 Views
Last Modified: 2012-05-04
hi,friends
  when a shell extention or isapi dll is runned ,I will fail to recompile my  project .I solve the problem by relogin the system frequently,but it is terriable.
  So who can tell me how to kill the dll in memory.Software and program are both appreciated.

thanks a lot
hubdog
0
Comment
Question by:hubdog
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 

Expert Comment

by:cAkk
ID: 2678540
if u wanna debug ISAPI application, just
read delphi's help at keyword:
"debugging, Web server applications,"

or u can do this:

edit the registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters
\CacheExtensions = 0

This can disable DLL's cache in memory.
then u can stop IIS service and restart
IIS service (not relogin),and kill the DLL.

cAkk :-)
0
 
LVL 17

Accepted Solution

by:
inthe earned 400 total points
ID: 2678852
hi hubdog,
 if your running iis or pws or whatever webserver you just have to shut down the webserver that will unload the dll.

i found this great tip about debugging shell extensions maybe it gives some help..:

1)  Generate your Shell Extension in Delphi as a DLL.
2)  Set the 'Run' parameters 'Host Application' to
    C:\WINDOWS\EXPLORER.EXE.
3)  Click on the Win95/98/NT 'Start' button and select 'Shutdown'.
4)  Hold 'Ctrl', 'Shift' and 'Alt' and click on 'No'
    with the mouse.  This shuts the shell down leaving
    any applications still running (including Delphi!)
5)  Press F9 (or 'Run' and 'Run' from the Delphi menu)
    and hey presto, the shell appears.
6)  Bring up an instance of Explorer (WIN-E keys), and
    you can set breakpoints and debug your extension
    like any other DLL!
   To get the shell back, just Dbl-Click on the desktop
    (this brings up the Task Manager), select 'File' then
    'Run Application' and select 'C:\WINDOWS\EXPLORER.EXE'
This works because of a little known fact about Explorer.
The first running occurance of Explorer IS the Shell.
All you are effectively doing, is to run the first
occurance of Explorer under Delphi's debugger!
0
 
LVL 2

Author Comment

by:hubdog
ID: 2680661
hi,inthe
I have not tested your post.
but I think it will do the work.
So I will give your the points .
If I meet any question about it ,I will  ask you again.

thank for your help

hi cAKK£¬hehe today I write a shell extention that is great. I will upload it to delphirich a few days later .Do not forget to download it .

also thank you
0
 

Expert Comment

by:HamidHossain
ID: 2683145
Hi all,

inthe,

actually, I hope to find away to kill my dll from memory, but without restarting !! .. I am using ISAPI dlls on my websites .. which hosted with about 200 other websites in the same server .. Shutting server down is a fatal !!! .. Microsoft should offer a way to do that without restarting.

Regards,
Hamid
0
 
LVL 17

Expert Comment

by:inthe
ID: 2684955
hamid ,

obviously this is for testing purposes ,  i mean you wouldnt run some project dll on a realtime working internet hosting server till it had been tested thoroughly would you ..
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question