AGB  ·  Datenschutz  ·  Impressum  







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

Timer ohne Form

Ein Thema von Jan · begonnen am 11. Okt 2003 · letzter Beitrag vom 12. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#1

Timer ohne Form

  Alt 11. Okt 2003, 22:26
Hallo DP,
ich wüsste gerne wie ich es hinbekomme einen Timer zu erstellen, ohne dass ich dazu einen Form brauche, weil das bei Winamp einfach nicht so toll ankommt, wenn ein Plugin mit seinem Form unten in der Taskbar auftaucht.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von nTE
nTE

Registriert seit: 8. Sep 2003
60 Beiträge
 
#2

Re: Timer ohne Form

  Alt 11. Okt 2003, 22:34
Probiere mal SetTimer aus der Windows-API.

Beispiel zur Verwendung (Englisch)

Sorry, aber mehr kann ich dir damit nicht helfen, da ich die Funktion selber noch nicht verwendet habe. :P
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Timer ohne Form

  Alt 11. Okt 2003, 22:40
Erstell ihn zur Laufzeit. Und als Owner gibst du nil an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:02
Hallo Luckie,
das was du mir da mitteilst hilft mir leider auch nicht sehr weiter.
Dass ich ihn zur Laufzeit erstellen muss ist mir schon klar, aber ich komme mit SetTimer einfach nicht klar.
hier das habe ich bereits:
Delphi-Quellcode:
SetTimer(NULL, NULL, 500, (timerproc)timerevent);

procedure timerevent;

var
handle:hdc;
title:string;
begin
handle:=getdc(0);
settextcolor(handle, clyellow);
SetBkmode(handle, TRANSPARENT);
title := strpas(Pointer(sendmessage(Plugin.HWNDparent, wm_user,
                             SendMessage(Plugin.HWNDParent, wm_user, 0, 125),212)));
textout(handle,100,100,pchar(title),length(title));
releasedc(0, handle);
end;
allerdings will er den settimer-aufruf nicht haben.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:05
Du sollst das TTimer Objekt zur Laufzeit erstellen. Mein Vorschlag hat nicht mit dem von nTE zu tun.

Wenn du SetTimer nutzt, dann brauchst du nämlich wieder eien MessageLoop oder wie willst du sonst an die WM_TIMER nachrichten dran kommen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:16
Hallo Luckie,
habe mir dazu mal diesen post angeguckt:

http://www.delphipraxis.net/internal...ellen+laufzeit

und es sieht ja auch absolut plausibel aus, was du da gepostet hast, allerdings kennt er bei mir 'self' nicht, was muss ich da einbinden?
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:19
Ich habe doch gesagt nil. self bezeichnet die Klasse zu der die Methode gehört. Da du aber keine Klasse hast, wie es scheint, kennt er logischerweise self nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:27
'nabend Luckie,

Zitat von Luckie:
self bezeichnet die Klasse zu der die Methode gehört.
Das wusste ich nicht. und das mit dem nil dachte ich hätte noch zu der api variante gehört, deswegen hab ich da nichtmehr dran gedacht, vielen dank.
Jetzt aber noch ein Problem *schäm*:
Wenn ich das Ontimer event aufrufe will er unbedingt eine methode haben, aber da ich ja keine form-klasse habe ist bei mir die ontimerprozedur eine "reguläre Prozedur", soll heissen: inkompatible typen. Muss ich mir da jetzt eine Fakeklasse erstellen, oder was?
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:39
Entweder das oder:
Delphi-Quellcode:
procedure MyTimerEvent(Sender: TObject);
begin
  ;
end;

.
.
.

@MyTimer.OnTimer := @MyTimerEvent;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Timer ohne Form

  Alt 11. Okt 2003, 23:52
Bin ich denn so blöd?
der will das immernoch nicht.
jetzt sagt er auf einmal:

Ink. Typen: TNotifyEvent und Pointer

nur wegen 2 @s
naja
Hast du noch was auf Lager?

Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:37 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