AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 07:47

Parameter dieser Suchanfrage:

Suche in Thema: Liste Thread sicher abholen
Suche alle Beiträge, die von "oki" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 25 von insges. 25 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Hi Oliver,

    klar, grundsätzlich hast du recht. Ich hatte erst mal das Schützen in Execute gesetzt, da ich hier noch weitere Methoden aufrufen wollte. Ich denke aber so wie du es korrigiert hast ist es besser. Vererbt man die Klasse ist man schnell dabei protected Methoden aufzurufen. Das würde dann bezüglich Threadsicherheit in die Hose gehen. Somit ist das aktuell zwar kein Fehler, aber dann...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Menne, Erfolg auf der ganzen Linie :bounce2: !!!

    Wenns denn auch wirklich sicher läuft? Aber das sollte es schon tun. Auf irgend was muss man sich halt auch einfach mal verlassen.

    Der Basiscode ist auch erschreckend simpel. So hatte ich mir das auch vorgestellt.


    type
    TShutDownThread = class(TThread)
    private
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Ahhhmmm, so'n gepflegtes Mittagessen ist doch was wert.

    Ich werd mal jetzt anfangen und den Code umsetzen. Das mit dem Tippen an der Tringliste Ups, hatte doch was mit Unterwäsche zu tun und sollte StringList lauten :lol: An der StringList tippen ist in diesem Kontext auch niedlich :lol: (ist mir grad so aufgefallen, Sorry) seh ich nicht so kritisch. Da schreibt man sich dann mal eine neue...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Ok dann auch noch mal von mir konkret nachgehagt (deine Nettigkeit muß ich ausnutzen :stupid: ).

    Mein zu schützendes Object ist meine Liste, TCriticalSection bringe ich in meinem Thread als Member unter und den Schutzmechanismus schalte ich immer ein, wenn auf die Liste zugegriffen wird. Also sowohl in den Getter- und Settermethoden des Threads für den Zugriff auf die Listen von außen wie auch...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Genau so hab ich das verstanden. Ich will die Aktualisierung der Listen in meinem Thread sicher ausführen können. Die Abarbeitung innerhalb meines Threads konkuriert nicht. Das kann ich strukturiert in meinem Execute abarbeiten.

    Vom Prinzip her will ich folgendes. Aktualisiere ich meine Listen sollen die Threads von außen warten bis ich fertig bin. Ist das so, dürfen die ran. Dann muss ich im...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Hi alzaimar.

    Du hast völlig recht! Zwei Gründe von meiner Seite.
    1. Wollte ich das mit CriticalSection verstehen, was ich so langsam tue (auch wenn es der steinige Weg über ein erstmal falsches Vertehen ging).
    2. In meinem Kopf ging irgent was verquerr, so das mir jetzt erst dämmert wie der richtige Weg ist. Da der Thread noch ne Menge mehr machen soll dachte ich, dass ich hier das Problem...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    ok, debuggen kann ich also noch. Folgende und eingentlich auch logische Situation.

    aktiviere ich Lock im Execute, so geht der LockCounter auf 0 und OwnerThread ist mein Thread. Aktiviere ich Lock in der GetterMethode des Thread durch Auffruf derselben durch meine Application, so ist OwnerThread meine Exe.

    Damit scheint meine Theorie zu stimmen, dass ich mich selber (Thread) sperre wenn ich...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Mal ganz blöd gefragt, brauch einen Thread im Thread? oder bin ich grundsätzlich auf dem Holzweg. Ich debug jetzt erst mal um Sirius ein paar Antworten zu geben. Ist im Moment leichter als denken.

    Gruß
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Hi Sirius,

    klar mach ich. Vorher noch 'ne Theorie. Ich war grad an der frischen Luft und hab nachgedacht. Folgendes.

    Lock sorgt doch dafür, dass die zugreifenden Threads angehalten werden, damit es nicht zu kollisionen kommt (landläufig ausgedrückt). Somit sperre ich doch meinen Thread selbst, wenn ich Lock im Execute aufgerufen habe. In meiner GetterMethode sehe ich , dass LockCount = 0...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Jo man, roter Kasten ist heut mein Ding.

    Weitere Zugriffe sollte es eigentlich nicht geben. Ich habe meinen Thread als Klasse in einer Unit (logisch). Meine Testanwendung besteht aus dem Formular, ListBox, Timer. Der Timer holt periodisch eine aktualisierte Liste und überträgt die Werte in das ListView. Da ist nicht viel dran, ist ja auch nur zum testen der Klasse.

    Mein Thread macht nicht...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Tja, tut mir leid, aber da komme ich nicht weiter. Die Hilfe spuckt nichts aus und die Deklaration in Windows bringt mich nicht sehr weit.

    _RTL_CRITICAL_SECTION = record
    DebugInfo: PRTLCriticalSectionDebug;
    LockCount: Longint;
    RecursionCount: Longint;
    OwningThread: THandle;
    LockSemaphore: THandle;
    Reserved: DWORD;
    end;
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Tja, ich hab das Abholen der Liste in meinem Demo mal auf einen Timer gelegt, der alle 500ms ein ListView aktualisiert. Benimmt sich anständig. Ich trau dem aber immer noch nicht über den Weg. Viel schlimmer ist, dass mein Verständnis über CriticalSection über den Haufen ist wenn das so ok ist.

    oki

    roter Kasten :lol: ich lese mich mal durch LockCount und und OwningThread durch. So lass ich...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    so klappts

    procedure TShutDownThread.GetWindowList(const AList: TWindowList);
    var
    WinParamObj: TWinParamClass;
    begin
    if not Assigned(AList) then
    Exit;
    // Lock;
    try
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    gleicher Effekt!

    oki
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Oh Backe, da läuft mächtig was schief. So geht es nicht. Folgendes Problem:
    Mein Thread läuft sauber und ordentlich und arbeitet seine Execute-Methode ab.

    procedure TShutDownThread.Execute;
    begin
    while not Terminated do begin
    Lock;
    try
    FWindowList.EnumTopLevelWindows; // interne liste aktualisieren
    Sleep(Interval); // warte mal die eingestellte...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 10. Jun 2008
    Moin Sir Rofu,

    die Idee hört sich auch erst mal nicht schlecht an. Da ich mit dem Thema Threadsicheres arbeiten noch nicht so tief befreundet bin hab ich hier aber noch ne Menge Unsicherheiten.

    Imho syncronisiert Synchonize ja die Ausführung einer Procedure über einen anderen Thread. Also am Beispiel eines Ereignisses sieht das bei mir immer so aus:


    procedure TMyThread.Execute;
    begin...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Hi,
    das mit dem CreateSuspend habe ich mit Absicht so gemacht. Aber du hast wohl recht. Execute wird erst aufgerufen wenn der Constructor abgearbeitet wird. Da hab ich schief gedacht.

    Das mit dem const nehme ich ohne Kommentar hin.

    Bezüglich des Destructors habe ich mich an den Aufbau aus TThreadList gehalten. Ich hätte selber das inherited ans Ende gesetzt. So dachte ich mir, die haben...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    OK, ich hab mir das jetzt mal mit der ThreadList angesehen. Sah schlimmer aus als es ist. Ich hab noch nicht den kompletten Code, aber der Rahmen steht. Hier mein Ergebnis:


    type
    TTShutDownThread = class(TThread)
    private
    FLock: TRTLCriticalSection;
    FShutDownList : TShutDownList; // Schließliste
    FWindowList : TWindowList; ...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Danke für den Tipp. Ich schau mir das in TThreadList an und erweitere meine Listen oder meinen Thread (wenn ich durchsehe). So langsam kommt aber Licht ins dunkel. Ich lass den Thread erst mal offen und poste später mein Ergebnis.

    Gruß oki
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Hi scp,

    reicht es wenn ich Initialize und Delete im Create und Destroy aufrufe? Oder muss ich das jedesmal vor und nach Zugriff auf die Liste des Threads machen?

    Gruß oki

    Nachtrag: Auch wenn die Frage blöd erscheint, kommt das in meinen Thread oder in meine Hauptanwendung?
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Klar, ich hatte mir natürlich gedacht, dass ich im Execute ein LockList ausführe wenn ich die Liste bearbeite und ein UnlockList, wenn ich fertig bin. Das mit dem Assign-Beispiel war jetzt nur der Einfachheit halber.

    Das blöde ist, dass meine WindowList eine StringList ist. Ich hatte mir aber schon gedacht die WindowList und die ShutDownList als ListItems in die ThreadList zu legen.

    Gruß oki
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Hi sirius noch mal.

    Ich stell mich im moment etwas schwerfällig an, aber was hilfts. Mir ist gerad nicht so richtig klar wie ich die ThreadList werwenden soll. Vieleicht denk ich auch zu kompliziert.

    Einfach gedacht wurde ich es so machen.

    Mein Thread ist ok, meine TWindowList ist ein Nachkomme von TThreadList und immer wenn ich die Einträge auslesen will mache ich folgendes:
    ...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    @sirius: Danke fur den Hinweis. Es soll natürlich die TWindowList sein. :oops: Blöder Fehler. Ich korrigiere das gleich.

    @Apoll....: Da muss ich mal kurz die Hilfe bemühen. Scheint echt ne Bildungslücke bei mir zu sein. Melde mich wenn der Nebel weg ist.

    Gruß oki
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Hi,

    das war zu schnell.

    Das mit dem Assign hatte ich mir auch schon überlegt. Etwa so:

    procedure TShutDownThread.AssignWindowList(AList : TWindowList);
    begin
    AList.Assign(FWindowList);
    end;
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Liste Thread sicher abholen

      Delphi
      by oki, 9. Jun 2008
    Hi Leute!

    ich bin mir bei meinem aktuellen Thema nicht ganz sicher wie ich es angehen soll. Folgende Voraussetzung:
    Ich habe eine eigene Klasse mit dem Vorfahren TThread. Diese Klasse besitzt eine Public-Eigenschaft WindowList vom Typ TStringList. Der Thread aktualisiert diese Liste fortlaufend in seiner Execute-Methode.
    Nun möchte ich mit meiner Anwendung den Inhalt der Liste abholen. Ich...


URL zu dieser Suchanfrage:

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