Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
9. Jun 2009
Hallo sirius,
vielen Dank, dass Du dir die Mühe gemacht hast mir so ausführlich zu antworten. Muss mir das nachher erstmal in aller Ruhe zu Gemüte führen. Vermutlich wird da noch die ein oder andere Frage bei mir noch aufkommen :-D
Okay, dann müsste ich mal schauen dass ich das umstricke... Welchen Vorteil hat denn die Lösung mit Events und WaitForSingleObject bzw. Waitfor...
Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
8. Jun 2009
Nochmals vielen Dank an alle.
Habe mich vorerst für sirius' Lösung entschieden:
if FHead<10 then
InterlockedIncrement(FHead)
else
InterlockedExchangeAdd(FHead,-9);
Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
8. Jun 2009
Wenn ich das jetzt richtig verstanden habe müsste es dann so aussehen:
procedure TRingBuffer.IncHead;
begin
InterlockedIncrement(FHead);
if FHead > 10 then
FHead := 0;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
8. Jun 2009
Vielen Dank für Eure Antworten :!:
Über Pipes bin ich gerade am lesen... Interlockedxxxx- Funktionen werde ich mir danach anschauen...
Könntest Du das evtl. etwas genauer ausführen? Das Prinzip ist mir nicht ganz klar geworden :oops:
Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
8. Jun 2009
Wollte hier posten, habe aber aus versehen dort gepostet. Der Beitrag stand dort auch nur wenige Minuten und wurde mittlerweile entfernt. Bin leider nur ein Mensch nur mache manchmal etwas falsch. So wie Du mich hier anblökst scheint Dir sowas ja nie zu passieren. Da beneide ich Dich Drum :|
Dann lass es halt :roll:
Forum: Object-Pascal / Delphi-Language
Delphi
by Viktorii,
8. Jun 2009
Moin zusammen.
Ich möchte eine Funktion (Get_Data) aufrufen, welche eine gewisse Zeit aktiv bleibt (z.B 500 ms) und welche gewisse Daten liefert. Unmittelbar nach derm wiederkehren soll die Funktion wieder aufgerufen werden um die nächste Daten zu liefern.
Während dessen (also z.B. in den nächsten 500 ms) sollen die Daten die die Funktion beim letzen mal geliefert hat weggespeichert werden....