AGB  ·  Datenschutz  ·  Impressum  







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

Timer wird zu langsam

Ein Thema von Larsi · begonnen am 4. Mär 2008 · letzter Beitrag vom 5. Mär 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:45
Verdammt, jetzt habe ich den obigen Beitrag editiert, anstatt einen neuen zu schreiben

Naja, schau es dir im vorletzten Post (von hier aus) an!
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:51
Sry aber irgendwie kommen da ziemlich viele Fehler, wo muss das type hin?
[Pascal Hinweis] Unit3.pas(39): H2077 Auf 'XORCrypt' zugewiesener Wert wird niemals benutzt
[Pascal Fehler] Unit3.pas(67): E2029 '=' erwartet, aber Bezeichner 'Create' gefunden
[Pascal Fehler] Unit3.pas(67): E2029 '=' erwartet, aber ',' gefunden
[Pascal Fehler] Unit3.pas(67): E2029 '=' erwartet, aber ')' gefunden
[Pascal Fehler] Unit3.pas(69): E2029 '=' erwartet, aber 'PROCEDURE' gefunden
[Pascal Fehler] Unit3.pas(70): E2070 Unbekannte Direktive: 'private'
[Pascal Fehler] Unit3.pas(71): E2070 Unbekannte Direktive: 'FPassword'
[Pascal Fehler] Unit3.pas(76): E2003 Undefinierter Bezeichner: 'TThread'
[Pascal Fehler] Unit3.pas(76): E2029 '=' erwartet, aber ',' gefunden
[Pascal Fehler] Unit3.pas(76): E2029 '=' erwartet, aber ')' gefunden
[Pascal Fehler] Unit3.pas(78): E2075 Diese Form des Methodenaufrufs ist nur in Methoden von abgeleiteten Typen erlaubt
[Pascal Fehler] Unit3.pas(79): E2003 Undefinierter Bezeichner: 'FreeOnTerminate'
[Pascal Fehler] Unit3.pas(80): E2003 Undefinierter Bezeichner: 'FPassword'
[Pascal Fehler] Unit3.pas(81): E2003 Undefinierter Bezeichner: 'FQuelle'
[Pascal Fehler] Unit3.pas(82): E2003 Undefinierter Bezeichner: 'FZiel'
[Pascal Fehler] Unit3.pas(85): E2004 Bezeichner redefiniert: 'TThread'
[Pascal Fehler] Unit3.pas(87): E2003 Undefinierter Bezeichner: 'FPassword'
[Pascal Fehler] Unit3.pas(87): E2003 Undefinierter Bezeichner: 'FQuelle'
[Pascal Fataler Fehler] Project3.dpr(5): F2063 Verwendete Unit 'Unit3.pas' kann nicht compiliert werden
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:52
Du musst einen Extra Thread für DEINE Funktion ableiten, erzeugen und ausführen...
Nach dem Erzeugen wird automatisch Execute ausgeführt, wohinein Du Deine Anweisungen schreiben kannst.
In Create kannst Du direkt Objekte oder andere Variablen übergeben.

Im Beispiel wird ein Objekt übergeben und dessen dafür bestimmte Methode vom Thread ausgeführt.
Dein Programmablauf wird dadurch (quasi) nicht beeinflusst. Der Thread erledigt die Aufgabe einfach nebenher und Dein Programm läuft normal weiter.
Der Thread arbeitet sozusagen wie ein eigenständiges Programm parallel, nur dass er den selben Speicherbereich benutzt. Deshalb darf man nicht "wahllos" in diese Bereiche schreiben, da es sonst Konflikte mit dem Programm geben kann (Syncronisation).

(... so jedenfalls, wie ich das verstanden habe)

Delphi-Quellcode:
  TMyThread = class(TThread)
  private
    FMyVar: TMyVar;
  protected
    procedure Execute; override;
  public
    constructor Create(MyVar: TMyVar);
  end;

...

procedure MyThreadStart(MyVar: TMyVar);
var
  MyThread: TMyThread;
begin
  MyThread := TMyThread.Create(MyVar);
end;

...

{ TMyThread }

constructor TMyThread.Create(MyVar: TMyVar);
begin
  FMyVar := MyVar;
  inherited Create(False);
end;

procedure TMyThread.Execute;
begin
  FMyVar.DoSomethingAsThread;
end;

stahli
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:53
[edit] Bereits korrigiert [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:54
Ui, da wraen aber ein paar Fehler drin.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 15:56
Und was muss ich verändern damit die Fehler weg sind, sirius?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 16:34
Ich hab noch ein Edit gemacht
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 16:47
Da kommen bei mir aber leider die gleichen Fehler, wo muss denn das type hin, vor die Procedur? Wenn nicht hab ichwas falsch gemacht
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 16:54
Jaaa, da waren noch ein Semikolonfehler,...

Jetzt dürfte es Copy&Paste fertig sein.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: Timer wird zu langsam

  Alt 5. Mär 2008, 17:18
Zitat von Larsi:
Ich habe mal was von IdProcessMessage oder irgendwie sowas gehört, hat das was damit zu tun, ...
Meinst du das?Application.ProcessMessages; Wenn dein Timer (der die Grafik steuert?) langsamer wird, könnte es daran liegt, das das TimerEvent nicht ausgeführt wird, weil dein Programm grad mit etwas anderen beschäftigt ist.

ProcessMessages bewirkt, dass das Programm erst mal alle Messages die das Programm erhalten hat (darunter auch das TimerEvent), abarbeitet, bevor es im eigentlichen Code weiter macht. Bei einer Suche bietet sich so was an.

Oder man löst das mit einem Thread, wie oben beschrieben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 16:17 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