AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 08:02

Parameter dieser Suchanfrage:

Suche in Thema: Threads und TBitmaps
Suche alle Beiträge, die von "Sir Rufo" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 17 von insges. 17 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Was soll man dazu sagen ausser: Wenn es so ist, dann ist es so.

    Überleg mal, warum ...

    (Kleiner Tip: Wenn überhaupt arbeitet ein zu vernachlässigbar kleiner Kreis an Personen hier im Forum bei der NSA/irgendeinem Geheimdienst oder als Hellseher - wir können also nicht auf deinen Rechner zugreifen oder deine Gedanken lesen. Wie sollen wir also jetzt etwas zu dem Quelltext sagen, der dieses...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Ein Getter/Setter der lockt, sichert eben nicht das Kopieren der Referenz ;)

    Ok, der Zugriff auf die Referenz ist gesichert, jupp, darum ja auch die Methode aus Beitrag #19 ;)
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    @Medium

    Die Eigenschaft BMP direkt auf das Feld zu leiten ist natürlich auch Quell des Übels. Da sollte ein Getter den Zugriff regeln.

    Und warum willst du mit dem Thread auf genau diese Instanz malen?
    Wieso bekommt der Thread dafür nicht eine temporäre Instanz, erstellt das Bitmap und wenn fertig, wird das einfach per Assign an die Bitmap-Instanz gegeben, die von aussen lesbar ist?

    Das...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Darum nimmt man dafür auch ein try .. finally, dann ist das gesichert

    SomeCanvas.Lock;
    try
    // use SomeCanvas
    finally
    SomeCanvas.Unlock;
    end;

    Irgendwie scheint dir das aber (warum auch immer) zu missfallen ...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Das kann der Delphi-Compiler gar nicht ... :shock:

    Es wird komplett kompiliert und dann schrittweise durch den erzeugten Code gelaufen ;)
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Eigentlich schon, aber wohl nicht solche komischen Sachen, die du da machst. ;)
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Gibt auch keine Fehler, aber wozu willst du die Methode TPaintThread.zeichnen überhaupt von aussen aufrufen?
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Könntest du bitte mal den gesamten Quelltext (Thread und Form) - die wo du den Fehler hast - hier posten?
    Und bitte genau den Quelltest und nicht irgendeinen - CopyPaste
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Kann ich so nicht nachvollziehen, läuft wie erwartet

    EDIT Überwachung des Thread-Kontexts
    unit PaintThread;

    interface

    uses
    Classes;
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Es gibt ja nur einen Prozess und innerhalb dessen mehrere Threads.

    Also wer ruft jetzt in welchem Thread-Kontext was auf?

    procedure TPaintThread.Execute;
    begin
    While (Terminated = False) do
    begin
    try
    Synchronize( Zeichnen );
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 3. Sep 2014
    Also wir müssen uns hier auf eine korrekte Sprache einigen, denn sonst weiß keiner was wirklich gemeint ist. Beim Thema Multithreading ist das einfach unerlässlich.

    Es kommt immer auf den Thread-Kontext an.

    Wenn du also bei irgendetwas im Bereich Multithreading Probleme hast, dann ist es sehr wichtig, dass du dabei den Thread-Kontext mit angibst, und nicht welche Form da was aufruft.
    ...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    Beim Multithreading spricht man von Threadkontext und nicht "von der Hauptform ausgeführt". Entweder es wird im MainThreadContext ausgeführt (du kannst gefahrlos auf als Form-Komponenten zugreifen) oder eben nicht. Wenn du nicht im MainThreadContext bist, kannst du per Synchronize eine Methode im MainThreadContext ausführen lassen.
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    Aber wie soll das passieren, er übergibt dem Thread die Referenz auf die Komponente, und dazu müsste man vorher per Synchronize das Bitmap daraus holen, dann verarbeiten und dann zurückschreiben. Und immer hoffen, dass die Komponente noch da ist.

    So sollte Multithreading eben gerade nicht funktionieren. Der Backgroundthread bekommt alle Informationen zum Abarbeiten als Kopie übergeben,...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    Ähm, das eigentliche Zeichnen erledigt du jetzt im Kontext des Hauptthreads

    Synchronize( Zeichnen );

    Damit hast du rein gar nichts gewonnen ... ja, es funktioniert, aber wozu benötigst du dann einen Thread, wenn du es eh wieder im Hauptthread zeichnen lässt.
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    Ah, war mir nicht aufgefallen, dass du nur Delphi 7 hast (du könntest das ja in dein Profil eintragen).

    Das Prinzip der CriticalSections, Events und Synchronize bleibt aber gleich und kannst du fast 1:1 übernehmen. Wichtig ist einfach, dass alle Zugriffe von aussen entsprechend geschützt erfolgen.

    Auch die Bitmap, die im Thread erzeugt wird, ist erst nach der Fertigstellung von aussen...
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    Hier mal so ein BitmapThread

    unit BitmapProducerThread;

    interface

    uses
    System.Generics.Collections,
    System.Classes,
    System.SyncObjs,
  • Forum: Programmieren allgemein

    AW: Threads und TBitmaps

     
      by Sir Rufo, 1. Sep 2014
    So wie du da in den Thread reingreifst, ist das wie Schalten ohne Kuppeln.

    Manchmal funktioniert es, manchmal knirscht es und manchmal fliegt dir das Getriebe um die Ohren.

    Generell solltest du hier wohl mit Queues arbeiten.

    In die Eingangsqueue trägst du die Vorgaben ein (Größe, etc.) die der Thread benötigt um das Bild zu erstellen.
    Der Thread holt sich aus der Queue diese Werte,...


URL zu dieser Suchanfrage:

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