AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi aus liste löschen wenn timer die liste verwendet?
Thema durchsuchen
Ansicht
Themen-Optionen

aus liste löschen wenn timer die liste verwendet?

Ein Thema von Pseudemys Nelsoni · begonnen am 27. Nov 2004 · letzter Beitrag vom 27. Nov 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 13:26
moin,

ich wollte mal fragen wie das ist, wenn ich z.b einen timer habe der alle 500ms ein array überprüft, d.h es durchläuft... wie sieht das da aus wenn ich ber button mal ein item aus dem array lösche? da ein timer ja parallel läuft kann es da sein das ich mal ausversehen etwas aus dem array lösche während der timer gerade darauf zugreift und ihm am ende nachher einitem fehlt(fehler) ?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 13:41
Verhindere doch einfach über ein Flag das ein Eintrag gelöscht wird während deine Timer-Funktion aktiv ist.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 13:49
hi sharky, der time rist abe rimmer aktiv..

ich schreibe gerade einen irc server und ich weiss nicht wie ich den PING?..PONG! kram hinkriegen soll... ich hab es bis jetzt so das jeder user einen eigenen timer hat, der wenn er aktiv ist nach einer bestimmtem zeit (wenn vorher kein pong vom client gesendet wurde) die verbindung schliesst. der server hat dann auch noch einen timer, der jede sekunde eine liste überprüft die so aussieht:

Timer - Ticks

timer ist dabei ein pointer auf den entsprechenden timer, er wird aktiviert sobald ticks 30000ms unter der aktuellen zeit ist... wenn ich den user dann disconnectet hab und aus dem array draussen, muss ich ihn ja auch noch aus dieser liste löschen, nur wenn der timer gerade drauf zugreift könnte das ja vielleicht fehler erzeugen....hm
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
MasterC

Registriert seit: 9. Jan 2004
Ort: Krefeld
369 Beiträge
 
Delphi 2005 Personal
 
#4

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 19:49
Guck dir doch mal den Source der Indy IRC Server Komponente an. Vieleicht hilft dir das.
Christian H.
www.Future-Coding.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 19:54
ne, da wird nur das on PING/PONG event abgefragt, code dafür ist nicht drin.

meine Frage ist eigentlich:

Sagen wir mal ich habe eine stringlist mit 1000 Einträgen, diese Liste durchlaufe ich per Timer alle 5 Sekunden, so, nun habe ich aber noch einen button auf meiner form, wenn ich diesen anklicke wird Item-500 aus der liste entfernt! was ist nun aber wenn ich das item gerade dann entferne, während der Timer die liste durchläuft? dann stimmt doch der index nichtmehr oder? oder wird das irgendwie synchronisiert?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 21:12
Zitat von Pseudemys Nelsoni:
was ist nun aber wenn ich das item gerade dann entferne, während der Timer die liste durchläuft?
Sofern du keine eigenen Threads angelegt hast, passiert das nicht, da die Timer-Routine im gleichen Thread läuft wie deine Button-Klick-Behandlungsroutine. Solle heißen: Es wird nichts gleichzeitig ausgeführt.
Anders siehts natürlich aus, wenn du das ganze in zwei verschiedenen Threads ablaufen lässt. Da musst du Zugriffe auf gemeinsam benutzten Speicher synchronisieren.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: aus liste löschen wenn timer die liste verwendet?

  Alt 27. Nov 2004, 21:23
vielen dank
Mario
MSN: cyanide@ccode.de
  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 02:50 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