AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Unterschiede TTimer zwischen Delphi 7 und 2010?

Unterschiede TTimer zwischen Delphi 7 und 2010?

Ein Thema von JohannesK · begonnen am 7. Jul 2015 · letzter Beitrag vom 7. Jul 2015
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Unterschiede TTimer zwischen Delphi 7 und 2010?

  Alt 7. Jul 2015, 15:07
OT: Ist TSaveThread wirklich eine Ableitung von TThread? Dann finde ich die Verwendung - insbesondere den Aufruf von Execute - ziemlich gewagt.

Abgesehen davon, wartest du ja sowieso in der repeat-Schleife auf die Beendigung des Threads. Warum dann überhaupt ein Thread?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Unterschiede TTimer zwischen Delphi 7 und 2010?

  Alt 7. Jul 2015, 15:20
Zitat:
OT: Ist TSaveThread wirklich eine Ableitung von TThread? Dann finde ich die Verwendung - insbesondere den Aufruf von Execute - ziemlich gewagt.

Abgesehen davon, wartest du ja sowieso in der repeat-Schleife auf die Beendigung des Threads. Warum dann überhaupt ein Thread?
Der Thread deshalb, damit sich verschiedene Gruppen beim Abspeichern nicht über die Timeraufrufe in die Quere kommen.
Ich bin zugegebnermassen nicht besonders Thread-sicher , warum ist der Aufruf von execute gewagt (ist aber auch schon ein bisschen off-topic).

Delphi-Quellcode:
  TSaveThread = class(TThread)
     private
       ExecGroup: TSavetimer;
    protected
       procedure execute; override;
      function DoSave: boolean;
    public
       constructor Create(aItem: TSavetimer);
      destructor destroy; override;
  end;

procedure TSaveThread.execute;
var itdata: PItemidentify;
    srv: TPrOPCClientReader;
    n: string;
    p: integer;
    m, m1: integer;
begin
 try

  with ExecGroup do
    begin
      if not GetTimeAllow then exit; // Prüfungen ob gespeichert werden soll
      if not GetTriggerAllow then exit;
    end;

    terminate;

  finally
    terminate;
  end;
end;
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.

Geändert von JohannesK ( 7. Jul 2015 um 15:25 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz