AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Service und TTimer

Ein Thema von Digielm · begonnen am 5. Jan 2009 · letzter Beitrag vom 6. Jan 2009
Antwort Antwort
Seite 4 von 4   « Erste     234   
nahpets
(Gast)

n/a Beiträge
 
#31

Re: Service und TTimer

  Alt 6. Jan 2009, 10:30
Zitat von Digielm:
das hier passiert in meinem Log

06.01.2009 10:59:41 Start OnStart
06.01.2009 10:59:41 Dienst gestartet
06.01.2009 10:59:41 Ende OnStart
Langsam kapiere ich nix mehr, wo kommt denn bitte das Dienst gestartet her?
Delphi-Quellcode:
procedure TService1.OnStart(args: array of string);
begin
  addlogtext('Start OnStart');
  Try
    Mainform := TMainform.Create(self);
  Except
    on e : Exception Do addlogtext(e.Message);
  end;
  addlogtext('Vor Button1Click');
  Try
    MainForm.Button1Click(Nil);
  Except
    on e : Exception Do addlogtext('Fehler in Button1Click: ' + e.Message);
  end;
  addlogtext('Hinter Button1Click');
  Try
    MainForm.Adresstimer.Enabled := false;
    MainForm.Adresstimer.Interval := 1000;
    MainForm.Adresstimer.Enabled := true;
  Except
    on e : Eception do addlogtext('Fehler beim Aktivieren des Timers: ' + e.Message);
  end;
  addlogtext('Ende OnStart');
  // Eine Sekunde hinter dem 'Ende OnStart' sollte im Log ein Eintrag 'Starte abgleich' stehen.
  // Wenn nicht, weiß ich auch nicht mehr weiter.
end;
  Mit Zitat antworten Zitat
Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#32

Re: Service und TTimer

  Alt 6. Jan 2009, 10:57
selbst wenn ich das hier mache

Delphi-Quellcode:
unit Service;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel, svcmgr,
  System.Windows.Forms, System.Data, system.serviceprocess, System.Configuration.Install;

type
  [RunInstaller(true)]
  TService1 = class(System.ServiceProcess.ServiceBase)
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    Components: System.ComponentModel.Container;
    /// <summary>
    /// Erforderliche Methode zur Unterstützung des Designers -
    /// ändern Sie die Methode nicht mit dem Quelltext-Editor
    /// </summary>
    procedure InitializeComponent;
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Ressourcen nach der Verwendung bereinigen
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private-Deklarationen }
    Timer1 : System.Windows.Forms.Timer;
    procedure timer(sender: TObject; e: System.EventArgs);
  public
    { Public-Deklarationen }
  strict protected
    procedure OnStop; override;
    procedure OnStart(args: array of string); override;
  public
    constructor Create;
  end;
//
var
  Service1: TService1;

// [assembly: RuntimeRequiredAttribute(TypeOf(ServiceBase))]

implementation

uses Main, ccLog;

//{$R *.nfm}
{$AUTOBOX ON} 

{$REGION 'Vom Windows Form-Designer erzeugter Code'}
/// <summary>
/// Erforderliche Methode zur Unterstützung des Designers --
/// ändern Sie die Methode nicht mit dem Quelltext-Editor
/// </summary>
procedure TService1.InitializeComponent;
begin
  Self.Components := System.ComponentModel.Container.Create;
  Self.ServiceName := 'Testdienst';
end;
{$ENDREGION}

procedure TService1.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor TService1.Create;
begin
  inherited Create;
  //
  // Erforderlich für die Unterstützung des Windows Forms-Designers
  //
  InitializeComponent;
  //
  // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu.
  //
end;

procedure TService1.onstop;
begin
//
end;

procedure TService1.timer(sender: System.Object; e: System.EventArgs);
begin
  addlogtext('STarte timerevent');
end;


procedure TService1.OnStart(args: array of string);

begin
  Try
    Timer1 := System.Windows.Forms.Timer.Create;
    Timer1.Interval := 10000;
    Include(Self.timer1.Tick, timer);
    addlogtext('Start OnStart');
    Main.create;
  Except
    on e : Exception Do addlogtext(e.Message);
  end;
  addlogtext('Ende OnStart');
  Timer1.Start;

end;



end.
klappt das nicht
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#33

Re: Service und TTimer

  Alt 6. Jan 2009, 11:16
Hallo,

da weiß ich nun auch nicht mehr weiter, lass' mal das Main.Create weg, wenn das dann immer noch nicht geht, geb' ich's dran.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz