Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 23, 2025 00:25

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: non VCL Timer
BeitragVerfasst: So Aug 03, 2003 21:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
wie erstelle ich einen Timer zur Laufzeit ohne die Timer Klasse von Delphi zu benutzen? (Wenn es geht die Timer Klasse von Delphi zu benutzen dann auch damit, aber als ich es damit probiert hab hats nicht fuktioniert :wink: )


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 03, 2003 21:53 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Schau Dir mal das Template der API durch. Das habe ich einen Timer benutzt um die FPS zu messen. ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 03, 2003 21:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Und wenn du nen VCL-Timer zur Laufzeit erzeugen willst, dann geht das so

In der Deklaration deiner Form :
Code:
  1. MyTimer : TTimer;
  2. ...
  3. procedure MyTimerOnTimer(Sender : TObject);

Die Prozedur MyTimerOnTimer musst du dann natürlich auch noch von Hand schreiben und dort deine Timerereignisse unterbringen!

Und im Create-Event deiner Form :
Code:
  1. MyTimer         := TTimer.Create(self);
  2. MyTimer.OnTimer := Form1.MyTimerOnTimer;
  3. MyTimer.Enabled := True;
  4. MyTimer.Interval:= 125;
  5.  

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 19:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
jetzt bin ich an dem Punkt das ich das wirklich brauche :D :wink:

gibt es irgendwelche Nachteile wenn ich mir zur Laufzeit einfach nen VCL-Timer erzeuge?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 21:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Billi Berserker hat geschrieben:
gibt es irgendwelche Nachteile wenn ich mir zur Laufzeit einfach nen VCL-Timer erzeuge?

Nein...obiger Quellcode bewirkt genau das selbe als wenn du die VCL-Komponente auf deine Form setzen würdest, bloss das ein Großteil davon dann halt von Delphi gemanaged würde.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
hm, nur benutze ich das nicht in einem Formular sondern in einer extra Unit wo ich fast keine Delphi units includet habe und wo es auch gar keine Delphi Komponenten gibt. Deshalb meckert er mich voll wenn ich als Parameter bei Create 'self' übergebe. Er meint halt einfach das das Object in dem ich den Timer brauche kein TComponent ist. Ist ja auch so...
Da ich ja aber auch keine anderen Delphi Komponente hab wo ich den Timer dran hängen könnte hab ich einfach ne variable des Typs TComponent genommen und die als Parameter übergeben. Die variable wird nicht weiter benutzt... . Das funktioniert zwar ohne Probleme nur frage ich mich ob ich das wirklich so machen kann. Ohne Grund verlangt der sicherlich keine Komponente als Parameter und in der Hilfe steht auch das es nur mit Komponten genutzt werden kann(oder so)...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 21:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
TComponent ist gleich TComponent, egal ob das ne von Delphi generierte Form oder eine von dir selbst zur Laufzeit erstellte TComponent ist.Ich gehe mal ganz einfach davon aus das der Parameter in dem eine TComponent übergeben wird einfach nur was mit der Parent->Child-Hierarchie zu tun hat, und wenns doch klappt, dann spielts doch keine Rolle was deine TComponent ist.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 22:45 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Übergeb doch einfach nil statt irgendeiner Komponente. Da Du ja nur den Timer brauchst, und nichts weiter müsste das meine ich gehen. Musst ihn nur eben selbst am Ende deines programms mit Timer.Free freigeben.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2003 08:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
nil zu übergeben hat natürlich auch funktioniert :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2003 08:31 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Hier eine ist eine NonVCL Timer komponente von mir:


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.026s | 17 Queries | GZIP : On ]