AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 06:47

Parameter dieser Suchanfrage:

Suche in Thema: Liste (ähnlich dyn Array) mit fortlaufendem Index?
Suche alle Beiträge, die von "Tryer" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.006s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 27. Mär 2010
    Die Instanz liegt im Speicher, nicht im Threadkontext. Und alle deine Threads haben Zugriff auf den Speicher, man muss halt nur schauen das die Zugriffe geortnet ablaufen. Das wird über Synchronisierungsobjekte wie TCriticalSection oder das in TTread implementierte Synchronize durchgeführt. Synchronize legt prinzipiell die Adresse der Prozedur welche der Mainthread aufrufen soll in einer Liste ab...
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 26. Mär 2010
    Die Kommunikation mit der Peripherie sollte in einem eigenen Thread laufen welcher dann Add() aufruft. Immer wenn eine Funktion aufgerufen wird dann findet das immer im Kontext des aufrufenden Threads statt, also in einem anderen Thread als das Execute() läuft und unabhängig davon welcher Thread das Objekt erstellt hat. Solange der Kommunikationsthread (für den ich eine erhöhte Priorität...
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 25. Mär 2010
    repeat
    if WaitForSingleObject(FDataClass.NewDataEvent, 100) = WAIT_OBJECT_0 then
    begin
    PData := FDataClass.ExtractFirst;
    if Assigned(PData) then
    begin
    repeat
    try
    Verarbeite(PData^);
    finally
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 25. Mär 2010
    Sorry, muss natürlich vom Typ THandle (bzw. Cardinal) sein. Und natürlich heißt es "constructor Create(..)" in der Implementierung. Schreibfehler halt ;)
    Mit dem Event(siehe Hilfe zu CreateEvent) werden die gerade arbeitslosen, wartenden Worker aktiviert um sich die Daten abzuholen.

    Das ganze ist natürlich so ausgelegt das der Worker sich einfach den Job holt der am längsten in der DataClass...
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 25. Mär 2010
    Speicherst Du entweder die Zeichenkette oder die Realwerte? Die Vermischung finde ich unübersichtlich, aber diesbezügich kannst Du das ganze ja selber anpassen.
    "Mal eben", also garantiert nicht fehlerfrei:
    type
    POneData = ^TOneData;
    TOneData = record
    Zeichenkette: string;
    Value1: Double;
    Value2: Double;
    Value3: Double;
    Value4: Double;
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 25. Mär 2010
    "Passieren" müsste die Freigabe natürlich durch den Arbeiter wenn er mit dem Element fertig ist. Aber bei mehr als einem Arbeiter bietet sich eine bessere (weil nicht starr im Speicher ausgerichtete) Lösung an: Die gute alte einfach verkettete Liste. Der Sammler hängt ans letzte Element an und die Arbeiter nehmen sich immer das erste Item aus der Liste. Der Sammler erstellt das Item, der Arbeiter...
  • Forum: Sonstige Fragen zu Delphi

    Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

      Delphi
      by Tryer, 24. Mär 2010
    Ich habe das Problem mal wie folgt gelöst:

    Beide Threads ("Sammler" und "Arbeiter") haben je eine TList.
    Der Sammler füllt fleissig seine Liste und setzt einen Event über den der Arbeiter erkennt das neue Daten vorliegen (WaitForSingleObject). Dann tauscht er seine abgearbeitete, leere Liste per FWorkList := TList(InterlockedExchange( Integer(FSammler.FList), Integer(FWorkList))); mit dem...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Tryer&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=149577
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 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