AGB  ·  Datenschutz  ·  Impressum  







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

Timer in DLL ohne ComCtrl

Ein Thema von DarkPressure · begonnen am 13. Mai 2006 · letzter Beitrag vom 14. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
DarkPressure

Registriert seit: 24. Mär 2006
28 Beiträge
 
Delphi 2006 Architect
 
#1

Timer in DLL ohne ComCtrl

  Alt 13. Mai 2006, 16:05
Moin Leute,

Wie kann ich einen Timer in einer DLL schreiben ohne dabei die VCL ComCtrl zu verwenden?

Soweit ^^
mit viel Grüßen DP
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Timer in DLL ohne ComCtrl

  Alt 13. Mai 2006, 16:36
Man nehme die Win32 API?!

MSDN-Library durchsuchenSetTimer
  Mit Zitat antworten Zitat
DarkPressure

Registriert seit: 24. Mär 2006
28 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Timer in DLL ohne ComCtrl

  Alt 13. Mai 2006, 17:45
Daran dachte ich auch schon.
Nur gehört der DLL nicht das Fenster
--
Hat sich erledigt, geht auch so
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Timer in DLL ohne ComCtrl

  Alt 13. Mai 2006, 18:23
Ähem ... du kannst auch 0 statt einem gültigen Fensterhandle angeben. Ein Timer braucht ja kein Fenster. Aber dann braucht der Timer mindestens eine Callback-Funktion ...
  Mit Zitat antworten Zitat
DarkPressure

Registriert seit: 24. Mär 2006
28 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 01:01
Kannst du villeicht ein Beispiel machen.
Bei mir hält er sich einfach nicht ans Delay
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#6

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 09:15
Oder Du benutzt AllocateHWnd.
Damit kannst du einer fensterlosen Komponente eine Methode geben um auf Windows-Botschaften zu reagieren.
Vielleicht funktioniert das auch in einer DLL.
  Mit Zitat antworten Zitat
DarkPressure

Registriert seit: 24. Mär 2006
28 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 11:41
Ne kann ich nicht, lässt der Prozess nicht zu.
Der crasht dann.
Das dürfte aj so mit dem Timer klappen, nur brauch ich maln gutes Beispiel.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 13:16
Zitat von DarkPressure:
Kannst du villeicht ein Beispiel machen.
Bei mir hält er sich einfach nicht ans Delay
Ähem ... ja. Windows ist halt kein Echtzeitbetriebssystem. Nicht einmal wenn du im Kernel agierst, kannst du sagen, ob du direkt Zeit vom Scheduler zugewiesen bekommst.

Beispiel muß ich nochmal nachliefern wenn ich mein PSDK wieder hinbekommen hab. Läuft irgendwie gerade nicht ...
  Mit Zitat antworten Zitat
DarkPressure

Registriert seit: 24. Mär 2006
28 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 13:22
Scheduler ich weiß nicht was du meinst.
Das läuft so:
Meine DLL bekommt ne Nachricht vom Hauptprogramm über madCodeHook.
Soweit so gut..
In der Nachricht steht ene Delay Zeit in Millisekunden und die soll der Timer nutzen.
Delphi-Quellcode:
const IDC_TIMER1 = 100;
var
    Continue: boolean;
    SendString: string;
    LastSocket: integer;
    Delay: integer;
function Funktion: pointer; stdcall;
begin
    Send(LastSocket, SendString[1], 26, 0);
    if Continue = True then
    SetTimer(0, IDC_TIMER1, Delay, Funktion)
    else
    begin
    end;
end;
Dann ruf ichw enn ich die Nachricht erhalte einfach diese Funktion auf.
Aber dann macht er ohne irgendein Delay die ganze Zeit spammen.
EDIT: Ich glaub ich weiß was falsch ist
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Timer in DLL ohne ComCtrl

  Alt 14. Mai 2006, 13:30
Ich will dir damit nur sagen, daß du niemals auch nur auf eine 100%ige Einhaltung deiner Vorgaben hoffen kannst. Es ist eben kein Echtzeitbetriebssystem.

In welchem Verhältnis stehen "DLL" und "Hauptprogramm"? Ist die DLL ins Hauptprogramm geladen? Warum arbeitest du mit Sockets?

Versuche einfach mal zu beschreiben, was du tun willst - anstatt dich auf eine Methode zu versteifen, die u.U. nicht optimal zum Ziel führt. Also was willst du tun?
  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 22:41 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