AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Im Compiler läuft mein Programm, die EXE hat aber einen Bug
Thema durchsuchen
Ansicht
Themen-Optionen

Im Compiler läuft mein Programm, die EXE hat aber einen Bug

Ein Thema von kallimusic · begonnen am 5. Nov 2005 · letzter Beitrag vom 5. Nov 2005
Antwort Antwort
kallimusic

Registriert seit: 5. Nov 2005
Ort: Seeheim-Jugenheim
2 Beiträge
 
#1

Im Compiler läuft mein Programm, die EXE hat aber einen Bug

  Alt 5. Nov 2005, 10:32
Ich werd noch verückt. In meinem Delphi 7.0 Compiler läuft mein Program.
In der EXE ist allerdings ein großer Bug.
Anscheinend wird meine Timer1 Routine nicht komplett durchlaufen. Kann es sein, daß ich
eventuell zu viele Timer in meinem Programm habe? Es sind nämlich 7 Stück.
kalli
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Im Compiler läuft mein Programm, die EXE hat aber einen

  Alt 5. Nov 2005, 10:47
Herzlich willkommen in der Delphi-PRAXiS, kallimusic.

Die sieben Timer werden sich wahrscheinlich gegenseitig bei der Arbeit unterbrechen - das musst du in deinen Timer-Routinen berücksichtigen. Auch ist es vorteilhaft, wenn du den Timer deaktivierst, solange seine zugehörige Prozedur abgearbeitet wird, damit kein unbeabsichtigter Wiedereintritt erfolgt.

Grüße vom marabu
  Mit Zitat antworten Zitat
kallimusic

Registriert seit: 5. Nov 2005
Ort: Seeheim-Jugenheim
2 Beiträge
 
#3

Re: Im Compiler läuft mein Programm, die EXE hat aber einen

  Alt 5. Nov 2005, 10:53
Ich hab mal die Routine jetzt zum ansehen mitgeliefert

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender:TObject); {Nur Geschwindigkeitsfeststellung}
begin {1000 ms}
  timer1.enabled:=false;
  If RadarPresent='Einthen SensorTicks := RadarTicksPro100Meter;
  If RadSensorPresent='Einthen SensorTicks := RadSensorTicksPro100Meter;
  If MaschinenSpeedSensorPresent='Einthen SensorTicks := MaschinenSpeedSensorTicksPro100Meter;
  if SensorTicks = 0 then SensorTicks := 1000;
  QueryPerformanceFrequency(t0);

  if HilfsSchalter1=true then
                            begin
                              ReadCounterDummy1:=ReadCounter(1);
                              QueryPerformanceCounter(t1);
                              HilfsSchalter1:=false;
                              timer1.enabled:=true;
                              exit;
                            end;
  if HilfsSchalter1=false then
                            begin
                              ReadCounterDummy2:=ReadCounter(1);
                              QueryPerformanceCounter(t2);
                              HilfsSchalter1:=true;
                            end;

  if ReadCounterDummy2 < ReadCounterDummy1 then
     Geschwindigkeit:=3600/
     ((abs(t2-t1)/t0)*(SensorTicks*10))
     *(ReadCounterDummy2+(65535-ReadCounterDummy1));
  if ReadCounterDummy2 > ReadCounterDummy1 then
     Geschwindigkeit:=3600/
     ((abs(t2-t1)/t0)*(SensorTicks*10))
     *(ReadCounterDummy2-ReadCounterDummy1);
  if ReadCounterDummy2 = ReadCounterDummy1 then Geschwindigkeit:=0;

     if Geschwindigkeit >= 10 then
     Label11.Caption := FormatFloat('#0.0',Geschwindigkeit)
                             else
     Label11.Caption := FormatFloat('#0.00',Geschwindigkeit);
     Label16.Caption := FormatFloat('##0.000000',(abs(t2-t1)/t0));
     Label23.Caption := IntToStr(ReadCounterDummy2-ReadCounterDummy1);
     Label17.Caption := FormatFloat('######.##',ReadCounter(1));
 timer1.enabled:=true;
end;
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
kalli
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#4

Re: Im Compiler läuft mein Programm, die EXE hat aber einen

  Alt 5. Nov 2005, 10:57
wenn irgend moeglich versuche die timerprozeduren zu serialisieren.

d.h. ein timer sorgt fuer die ausfuehrung aller timerprozeduren (zur richtigen zeit). damit laufen die nicht parallel und laufen nicht ueberlappt.

hatte selber schon solche probleme, dass das programm komplett einfriert.
Christoph
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:20 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