![]() |
Pause in procedure einbauen...?
Hallöchen. :)
Ich möchte Daten über die RS232 senden und empgangen. Allerdings brauche ich zwischen senden & empfangen eine Pausenzeit von, mindestens 40ms. (Ich habs mit einem timer probiert, allerdings gabs Probleme, als ich eine for-Schleife um die komplette senden/empfangen procedure legen wollte. Es geht wohl auch einer Funktion von AsyncPro welches ich hierzu verwende (ApdComPort.SetTimerTrigger, ApdComPort.SetTimerTrigger), komme aber nicht dahinter wie!) Meine Frage: Kann mir jemand sagen wie ich eine Pausenzeit zwischen senden und empfangen, also in mitten einer procedure einfügen kann? :gruebel: Gruß Mucki |
Re: Pause in procedure einbauen...?
![]() |
Re: Pause in procedure einbauen...?
Wenn's nur um 40 ms geht, sollte
![]() |
Re: Pause in procedure einbauen...?
Zitat:
|
Re: Pause in procedure einbauen...?
Mit sleep() hab ich es probiert, dann geht nichts mehr...
|
Re: Pause in procedure einbauen...?
Zitat:
Außerdem denke ich, dass der Threadersteller wohl kaum Lust dazu hat, sich durch fast 300 Suchergebnisse durchzuklicken :wink: Okay, damit kann man wohl eher was anfangen: ![]() //Edit: Kein roter Kasten heute? |
Re: Pause in procedure einbauen...?
Moin Mucki,
um deine Frage aus der PN mal hier zu beantworten, damit alle etwas davon haben: Zitat:
Delphi-Quellcode:
procedure Delay(Milliseconds: Integer);
var Tick: DWord; Event: THandle; begin Event := CreateEvent(nil, False, False, nil); try Tick := GetTickCount + DWord(Milliseconds); while (Milliseconds > 0) and (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do begin Application.ProcessMessages; if Application.Terminated then Exit; Milliseconds := Tick - GetTickcount; end; finally CloseHandle(Event); end; end; |
Re: Pause in procedure einbauen...?
:-D O.K. hab ein kleinen Test gemach... hat funktioniert. :-D
Jetzt bau ich es mal in das Programm ein, danke für den Tip. :thumb: Melde mich hier noch einmal... |
Re: Pause in procedure einbauen...?
if Application.Terminated then Exit; // Wäre ein Break hier nicht viel sinnvoller?
|
Re: Pause in procedure einbauen...?
Kann keine Schleife um das delay legen, so das z.B. das senden & empfangen
mehrmals durchlaufen wird.
Delphi-Quellcode:
Warum?
procedure TForm1.Button1Click(Sender: TObject);
var i : integer; pause : word; begin for i := 1 to 5 do begin label1.caption := 'bitte warten'; delay(500); label1.caption := 'pause vorbei'; pause := i ; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz