AGB  ·  Datenschutz  ·  Impressum  







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

Programm pausieren lassen

Ein Thema von Generalissimo · begonnen am 13. Feb 2004 · letzter Beitrag vom 15. Feb 2004
Antwort Antwort
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#1

Programm pausieren lassen

  Alt 13. Feb 2004, 12:34
Hallo,

folgendes Problem: ich hole über die serielle Schnittstelle Daten von einem Messgerät.
Das Gerät ist so konzipiert das man erst einen bestimmten Befehl zum Gerät senden muss,
voraufhin das Gerät dann die Daten rüberschickt. Mein Programm bekommt dies über ein Event (OnChar)
mit, das eine Komponente für den Zugriff auf die serielle Schnittstelle bereitstellt.
Die Daten sollen in eine DB geschrieben werden.
Das Messgerät schickt die Daten aber nicht in "Echtzeit" zurück. Zwischen eintreffen des Sendbefehls und dem losschicken der Daten vom Gerät, können schon mal 2 Sekunden vergehen
Mein Problem ist nun wie ich 100% sicher gehen kann, das mein Programm wirklich erst weiter geht wenn die Daten von dem Messgerät eingetroffen sind.

Gibts da irgendwelche Möglichkeiten?
  Mit Zitat antworten Zitat
Bit Juggler
(Gast)

n/a Beiträge
 
#2

Re: Programm pausieren lassen

  Alt 14. Feb 2004, 20:59
Hallo Generalissimo,
es gibt in der Komponente die Du benutzt bestimmt ein Ereigniss "OnRxChar", da kannst Du überprüfen ob Zeichen übertragen worden sind!
Und zu der Pause im Programm:
Delphi-Quellcode:
//für x zahlen eintragen ;-) 1000 = 1 Sekunde!
sleep(x);
Gruß Bit
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Programm pausieren lassen

  Alt 14. Feb 2004, 22:56
Hi!

Ich würde eher Delay (siehe Code-Lib) verwenden.

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von IcyT
IcyT

Registriert seit: 18. Jan 2004
Ort: Iceland
12 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Programm pausieren lassen

  Alt 15. Feb 2004, 00:35
Ja, da in der Delay-Prozedur Application.Processmessages; vorkommt arbeitet es auch noch die Windowsnachrichten ab und bleibt nicht hängen wie bei sleep.
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Programm pausieren lassen

  Alt 15. Feb 2004, 17:43
Hallo,

Fragestellung so wie verstanden:
du sendest ein kommando wohin worauf due später eine Antwort erhälst. Unbekannts si tdie Zeit bis wann die Anwort eintrifft. Du bekommst die Anwort mit indem bei dier in einer komponente ein Ereignis "OnChar" ausgelöst wird.

Anwort:
Benutze eine Steuervariable welche du auf z.b. "1" setzt wenn du das kommando abgesetzt hast.
Im OnChar ereignis nimmst du die daten entgegen und setzt die steurvariable auf z.b "0". dann sartest du deine anderen aktionen. wenn du gefahr läudfst daß die anderen folgenden aktioen evemntuell durch die Ereignissteuerung von Windows für dich zu früh oder "unkontrolliert kommen" so fsnge sie mit einer Abfrage der Steeurervariablen ab ...
Peter Schaible
  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 12:23 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