Solved

Windows NT dont shut down

Posted on 2000-04-09
11
200 Views
Last Modified: 2010-04-04
Following Problem:
1. New Application.
2. Use a NMPOP3 Component (Delphi Prof. or Delphi Client Server)
3. My Source Code

Prozedur "WMSysCommand"
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Psock, NMpop3;

type
TForm1 = class(TForm)
NMPOP31: TNMPOP3;
private
Procedure WMSysCommand(var Message: TWMSysCommand); message WM_SysCommand;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
inherited;
end;

end.

Coded in D4 and D5.
Windows NT with SP5 dont shutdown.
Why?
What can i do that Windows NT shuts down?
There are no Problems with Win 9x
0
Comment
Question by:Albion
[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
  • 6
  • 3
  • 2
11 Comments
 
LVL 9

Expert Comment

by:ITugay
ID: 2697541
I don't see any code in your sample to shutting down OS. I miss something?
----
Igor.
0
 

Author Comment

by:Albion
ID: 2697626
i dont want to shutdown NT by my programm.
if my application runs and i want to shutdown NT manuel, that dosent work.
i dont want sghut down NT with my Application.
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2697657
I can't understand. Do you need to close your application if NT is about shutting down?

(Tu voulez fermer le programme si NT finit le travail?)
(Du willst das eigene Programm zumachen falls NT die Arbeit beendet?)

------
Igor.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Albion
ID: 2697662
fein deutsch ...
folgendes ...
sobald du in delphi die elemente benutzt, NMPOP3 Komponente und die Windowsmessages abfängst (ich leite sie einfach weitermit inherited, nur als beispiel)

fährt NT nicht mehr runter wenn du NT einfach ganz normal beenden willst.
d.h. meine application verhindert den shutdown von NT.

erstelle diese Application mal bei dir unter NT ...
starte die EXE-datei und versuche dann NT zu beenden.
NT bricht den shutdown einfach ab...

ich weis nur nicht wieso..
in meiner eigentlichen application fange ich dort das minimize ab ...

ich weiß einfach nicht warum NT den shutdown abbricht

albion
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2697675
Jetzt habe ich verstanden. Jetzt werde ich das Experiment machen. Einen Moment....
0
 
LVL 17

Expert Comment

by:inthe
ID: 2697725
hello,
if windows wil not shutdown then i sugest to handle WMQueryEndSession to listen when windows wants to close and when windows wants to shutdown it will return a "ok then close" to windows

Regards Barry


type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
   procedure WMQueryEndSession(var Msg: TWMQueryEndSession) ; message WM_QUERYENDSESSION ;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ok_to_close : boolean;

implementation

{$R *.DFM}

procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
const
  CAN_SHUTDOWN = 0 ;
  DONT_SHUTDOWN = 1 ;
begin
  inherited ;
  if ok_to_close then {ok_to_close is the global boolean}
  Msg.Result := CAN_SHUTDOWN
  else {if ok_to_close has been set to false then we would get here}
    Msg.Result := DONT_SHUTDOWN ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ok_to_close := true;
end;
0
 
LVL 9

Accepted Solution

by:
ITugay earned 150 total points
ID: 2697745
Man muß nicht NMPoP3.Disconnect benutzen falls du die Verbindung zuerst nicht erledigt hast. Falls du die Version NetMasters 5.3 jenes TForm1.onCloseQuery benutzst

Procedure TForm1. FormCloseQuery (Sender: Tobject; var CanClose: Boolean);
begin
   NMPoP31. Abort;
end;

Hi Barry,
there are bug in TNMPop3. I guess that WMQueryEndSession will never called under NT in this case. I tryed it before.

-----
Igor.

0
 
LVL 17

Expert Comment

by:inthe
ID: 2697783
yep most all netmasters comps arent so good better to use winshoes or f.piettes i reckon ;-)
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2697988
Barry,
agree;)
0
 

Author Comment

by:Albion
ID: 2698162
War zwar nicht NMPOP.Abort, sonder NMPOP3.Free, aber letztendlich wars das ...

Die Connection hab ich zwar vorher schon gekillt, rechte aber wohl nicht ...

besten Dank!!!

cu & hus
Albion
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2699496
Ist froh war zu helfen.
----
Igor.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Come and listen to Percona CEO Peter Zaitsev discuss what’s new in Percona open source software, including Percona Server for MySQL (https://www.percona.com/software/mysql-database/percona-server) and MongoDB (https://www.percona.com/software/mongo-…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…

696 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