PowerBuilder application call the Delphi DLL
I call a Delphi DLL (multithread sockets dll) file using PB, When the PB application form closed, it's doesn't terminated really, and it's still Stay in the task manager!!! Why? How can I release the multithread sockets DLL after powerbuilder application terminated? Thanks in advance for your reply !
A dll written in Delphi that is loaded by a powerbuilder application, that does whatever network communications it might be doing would not still be around if the Powerbuilder application had truly terminated.
In windows it is impossible that anything might be keeping your process alive after Powerbuilder terminated it, unless that thing is a thread inside the delphi DLL that is created by the delphi DLL.
I would suggest you monitor the threads that exist in your application, using the delphi debugger. You can start your powerbuilder application from your delphi IDE, by opening your delphi project (that is used to build the DLL) and setting the Project Run Options so that the powerbuilder application that gets run that loads the DLL, is the "executable" in the RUn -> parameters dialog in the Delphi IDE.
Now run the whole thing in debug (green arrow button in the delphi IDE toolbars) and open the Threads panel, and watch the threads starting up in the delphi application. If there aren't any extra threads started by the delphi DLL (say the powerbuilder main thread is the only thread you can see), then the Delphi DLL can't possibly be keeping your application open.
As it is, the most likely thing that's happening is your program is freezing (crashing) because of some basic problem either in powerbuilder or the DLL. Again, solving the problem is probably going to require you to do some debugging, both with powerbuilder and delphi. more information would help people to help you.