Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

inprocess dll

Status
Not open for further replies.

aimskee

Programmer
Feb 3, 2000
60
US
I am working on an in-process dll com program using VFP 6.0 for an internet application. Is there anyway to make changes to the dll and recompile in order to see my changes, without restarting IIS (I have version 5) every time I want to test my changes or fix a bug or syntax error and see new results? It says it can't compile app. I stop and restart server, then I can recompile.
If there is no other way, will restarting IIS a number of times during a work session do any damage?
Thanks.
Amy
 
aimskee

If you call your DLL by using CREATEOBJECT(), can you not clear it?

oDLL = createobject("myDll")
oDLL = .NULL. && Clear it.

Mike Gagnon

If you want to get the best response to a question, please check out FAQ184-2483 first.
 
Hi

May be this will help.. issue the command..

CLEAR ALL DLLS

OR

CLEAR ALL

:)

____________________________________________
ramani - (Subramanian.G) :)
When you ask VFP questions, please add VFP version.
 
Thanks for the answers! I'm new to the dll thing, and in fact my source is a book that said the only way to clear was to stop IIS. I knew this couldn't be.
Aimskee



 
Ramani,

CLEAR ALL DLLS

I might be wrong, but my understanding is that CLEAR [ALL] DLLS will clear those DLLs that were declared with a DECLARE command, not COM servers that were instantiated with CREATEOBJECT().

Mike


Mike Lewis
Edinburgh, Scotland
 
In process DLL's are pooled by IIS - in other words, they stay in IIS memory space - the advantage is performance, the disadvantage is the deployment issues you are running into. When I'm developing these myself I keep a command window open and just type the following:

iisreset /restart

It's a little quicker than stop/start from Internet Services manager.

Of course, you could always try an out-of-process EXE. I have a real lightweight COM EXE running on a web site and the performance is just fine. It all depends on the workload and how often the object will need to be instantiated by the app.
 
Thanks it turns out that I do have to stop and restart IIS. None of the commands listed at the top of this thread worked with createobject() to clear the memory, so I will use iisreset /restart in the command window. Thanks for that tip, at least that will be quicker.
It seems to be a major drawback of in-process com objects if any change has to be made to have to stop and restart the server.
I am thinking of using FoxISAPI since it's out of process.
Amy
 
Yes, it is a major drawback especially if making a lot of little tweaks to your COM server. I believe West-Wind Web Connection has some way around this, but I'm not sure. You may want to check it out:
 
foxisapi will run, unfortunately, into a similar problem, since it pools the COM instances, itself.

However, research the .INI file that goes with it: That INI file can specify that it NOT pool a particular server so that you can easily debug/replace it.
 
thanks [profile] I will look into this. I have already downloaded West Wind's shareware stuff and it's interesting.
I was wondering if VFP 8 has a new and improved version of Foxisapi (I'm using VFP 6). Otherwise, manipulating the ini file in an option.
[thumbsup2]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top