Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

TTimer in einer freien Klasse

  Alt 19. Feb 2009, 16:25
Hallo,

kann ich einen TTimer in einer von mir freigestalteten Klasse integrieren? Ich denke eigentlich, dass dies möglich sein sollte, was mir eigentlich Probleme bereitet ist die Initialisierung des Timers. Hier mal mein bisheriger Versuch:

Delphi-Quellcode:
unit VT_Funktionen;

interface

uses
  Windows, SysUtils, Hilfsfunktionen, ExtCtrls;

const constMillimeter = 6400;

type TV_Tische = class
  private
    Tischbmp: TBitmap;
    TischDLL: TDLL_Datei;
    DLL_Handle: THandle;
    bBewegung, bkalibriert,bAngeschlossen: boolean;
    iaktuelleTischposition, iZielTischposition, iComport, iFehlercode: integer;
    Bewegungsueberwachung: TTimer;
    function Bewegtsich(const Kanal: integer): boolean;
    function Bremsen: boolean;
    function Geschwindigkeit_festlegen(const iGeschwindigkeit: integer): boolean;
    function Beschleunigung_festlegen(const iBeschleunigung: integer): boolean;
    function VTische_verbinden(Comport: integer): boolean;
    function Kalibrierung(const Kanal: integer): boolean;
    function Verfuegbarkeit: boolean;

    // Diese Funktioen müssen überprüft werden, ob sie wirklich private sein sollen
    function BewegenABS(dneuPos: double): boolean; overload;
    function BewegenABS(const KaliPos: string): boolean; overload;
    function BewegenABS(dneuPos: double; iGeschwindigkeit: integer): boolean; overload;
    function BewegenABS(dneuPos: double; iGeschwindigkeit, iBeschleunigung: integer):boolean; overload;

  public
    constructor create; reintroduce;
    destructor Destroy; override;
    property Handle: THandle read DLL_Handle;
    property Verfuebar: boolean read Verfuegbarkeit;

end;

...

constructor TV_Tische.create;
begin
  inherited create;
  bBewegung := false;
  bkalibriert := false;
  bAngeschlossen := false;
  TischDLL := TDLL_Datei.create('MMC.DLL');
  if TischDLL.Vorhanden then
    begin
      DLL_Handle := TischDLL.Handle;
    end
  else DLL_Handle := 0;
  Bewegungsueberwachung := TTimer.Create(Self);
end;

...
Mein Problem ist jetzt die fehlende TComponente, auf die der Timer initialisiert werden müsste. Hat jemand eine Lösung für mich, wie ich das machen könnte?

Vielen Dank
BAMatze
  Mit Zitat antworten Zitat