Update of /cvsroot/jvcl/dev/JVCL3/examples/JvCreateProcess
In directory sc8-pr-cvs1:/tmp/cvs-serv4702/JVCL3/examples/JvCreateProcess
Added Files:
CreateProcessExample.dof CreateProcessExample.dpr
CreateProcessExample.res CreateProcessExampleMainFormU.dfm
CreateProcessExampleMainFormU.pas
Log Message:
- Copied jvcl/devtools and jvcl/examples dev/JVCL3
- Copied JVCLConvert *.dat files to dev/JVCL3/converter
--- NEW FILE: CreateProcessExample.dof ---
[Directories]
OutputDir=..\..\Bin
UnitOutputDir=..\..\Dcu
SearchPath=..\..\Source;..\..\Common
--- NEW FILE: CreateProcessExample.dpr ---
program CreateProcessExample;
uses
Forms,
CreateProcessExampleMainFormU in 'CreateProcessExampleMainFormU.pas' {CreateProcessExampleMainForm};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TCreateProcessExampleMainForm, CreateProcessExampleMainForm);
Application.CreateForm(TCreateProcessExampleMainForm, CreateProcessExampleMainForm);
Application.Run;
end.
--- NEW FILE: CreateProcessExample.res ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: CreateProcessExampleMainFormU.dfm ---
object CreateProcessExampleMainForm: TCreateProcessExampleMainForm
Left = 382
Top = 134
Width = 544
Height = 375
Caption = 'TJvCreateProcess example (with notepad.exe)'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 536
Height = 41
Align = alTop
TabOrder = 0
object RunBtn: TButton
Left = 8
Top = 8
Width = 75
Height = 25
Caption = '&Run'
TabOrder = 0
OnClick = RunBtnClick
end
object QuitBtn: TButton
Left = 288
Top = 8
Width = 97
Height = 25
Caption = 'Send WM_QUIT'
TabOrder = 3
OnClick = QuitBtnClick
end
object CloseBtn: TButton
Left = 184
Top = 8
Width = 97
Height = 25
Caption = 'Send WM_CLOSE'
TabOrder = 2
OnClick = CloseBtnClick
end
object TerminateBtn: TButton
Left = 392
Top = 8
Width = 97
Height = 25
Caption = 'Terminate process'
TabOrder = 4
OnClick = TerminateBtnClick
end
object StopBtn: TButton
Left = 88
Top = 8
Width = 75
Height = 25
Caption = '&Stop waiting'
TabOrder = 1
OnClick = StopBtnClick
end
end
object RichEdit1: TRichEdit
Left = 0
Top = 41
Width = 536
Height = 309
Align = alClient
Font.Charset = EASTEUROPE_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Courier New'
Font.Style = []
HideScrollBars = False
ParentFont = False
PlainText = True
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 1
WordWrap = False
end
object JvCreateProcess1: TJvCreateProcess
CommandLine = 'notepad.exe'
OnTerminate = JvCreateProcess1Terminate
Left = 16
Top = 56
end
end
--- NEW FILE: CreateProcessExampleMainFormU.pas ---
unit CreateProcessExampleMainFormU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, JvSysComp, JvComponent;
type
TCreateProcessExampleMainForm = class(TForm)
Panel1: TPanel;
RichEdit1: TRichEdit;
RunBtn: TButton;
QuitBtn: TButton;
CloseBtn: TButton;
TerminateBtn: TButton;
JvCreateProcess1: TJvCreateProcess;
StopBtn: TButton;
procedure RunBtnClick(Sender: TObject);
procedure CloseBtnClick(Sender: TObject);
procedure QuitBtnClick(Sender: TObject);
procedure TerminateBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure JvCreateProcess1Terminate(Sender: TObject; ExitCode: Cardinal);
procedure StopBtnClick(Sender: TObject);
public
procedure AddLogMsg(const Text: String);
procedure UpdateButtons;
end;
var
CreateProcessExampleMainForm: TCreateProcessExampleMainForm;
implementation
{$R *.DFM}
resourcestring
sProcessStarted = 'Process "%s" started...';
sProcessTerminated = 'Process "%s" terminated, ExitCode: %.8x';
procedure TCreateProcessExampleMainForm.AddLogMsg(const Text: String);
begin
RichEdit1.Lines.Add(FormatDateTime('DD.MM.YYYY HH:NN:SS ', Now) + Text);
end;
procedure TCreateProcessExampleMainForm.RunBtnClick(Sender: TObject);
begin
JvCreateProcess1.Run;
UpdateButtons;
AddLogMsg(Format(sProcessStarted, [JvCreateProcess1.CommandLine]));
end;
procedure TCreateProcessExampleMainForm.CloseBtnClick(Sender: TObject);
begin
JvCreateProcess1.CloseApplication(False);
end;
procedure TCreateProcessExampleMainForm.QuitBtnClick(Sender: TObject);
begin
JvCreateProcess1.CloseApplication(True);
end;
procedure TCreateProcessExampleMainForm.TerminateBtnClick(Sender: TObject);
begin
JvCreateProcess1.Terminate;
end;
procedure TCreateProcessExampleMainForm.UpdateButtons;
begin
RunBtn.Enabled := JvCreateProcess1.State = psReady;
CloseBtn.Enabled := JvCreateProcess1.State <> psReady;
QuitBtn.Enabled := JvCreateProcess1.State <> psReady;
TerminateBtn.Enabled := JvCreateProcess1.State <> psReady;
StopBtn.Enabled := JvCreateProcess1.State <> psReady;
end;
procedure TCreateProcessExampleMainForm.FormCreate(Sender: TObject);
begin
UpdateButtons;
end;
procedure TCreateProcessExampleMainForm.JvCreateProcess1Terminate(Sender: TObject; ExitCode: Cardinal);
begin
UpdateButtons;
AddLogMsg(Format(sProcessTerminated, [JvCreateProcess1.CommandLine, ExitCode]));
end;
procedure TCreateProcessExampleMainForm.StopBtnClick(Sender: TObject);
begin
JvCreateProcess1.StopWaiting;
UpdateButtons;
end;
end.
|