AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Variablen im Thread

Ein Thema von Fredyy · begonnen am 2. Jan 2008 · letzter Beitrag vom 3. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#11

Re: Variablen im Thread

  Alt 3. Jan 2008, 17:09
Du kannst dem Thread auch einen pointer auf einen Record

Delphi-Quellcode:
  prec = ^trec;
  tRec = record
      s : string;
      i : integer;
  end;
mitgeben (entweder als Var im constructor oder als accessmethod.

Delphi-Quellcode:
type mythread....
public
    procedure setData(var p:prec);


...

procedure TSortThread.setData(var p:prec);
begin
    fRec:=p;
end;
Wenn Du die Daten von aussen aenderst, "sieht" das der Thread.
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#12

Re: Variablen im Thread

  Alt 3. Jan 2008, 17:50
Zitat:
So lange es keine Zeiger auf die jeweilige Variable ist, oder das Objekt welches diese enthält, weiter gegeben wird, so lange werden sich Änderungen auf die Variable nicht auf ihren anderen Speicherort auswirken. Sprich: Änderst du Variable1 in deinem Thread, so hat die Variable1 in deiner Form immernoch ihren alten Wert (die Aussage ist reversible).
Da habe ich die Frage wohl falsch verstanden. Ich mache es immer auf die von mir gezeigte Weise, allerdings möchte ich auch erreichen, dass die Variable im Thread nicht die der Form ist. Kann das keine Probleme geben, wenn Programmthread und "Nebenthread" beide die selbe Variable (Speicher) nutzen?
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Variablen im Thread

  Alt 3. Jan 2008, 20:12
Zitat von wicht:
Da habe ich die Frage wohl falsch verstanden. Ich mache es immer auf die von mir gezeigte Weise, allerdings möchte ich auch erreichen, dass die Variable im Thread nicht die der Form ist. Kann das keine Probleme geben, wenn Programmthread und "Nebenthread" beide die selbe Variable (Speicher) nutzen?
Wenn es nicht gefordert ist, dass eine Aktualisierung einer Variablen gleich auf alle anderen "Nutzer" dieser durchschlägt, dann hat dein Weg den Vorrang. Die Datentrennung ist wichtig und sollte immer möglichst gut und genau durchgeführt werden. Ich wollte nur den Threadersteller darauf hinweisen, dass es sich um unterschiedliche Speicherplätze handelt, weil ich im Hinterkopf schon die nächste Frage gesehen hätte: "Ich habe die Variable Größe in der Form neu zugewiesen aber der Thread arbeitet immernoch mit der alten Größe. Warum?" o.ä. Von daher wollte ich nur auf diesen Fakt hinweisen.

Kurzum: so lange eine Trennung der Daten möglich ist, sollte man diese Trennung vollziehen. Auch sind Zeiger auf Variablen schlecht, da man dadurch die Möglichkeiten zur Manipulation der Variablen vervielfacht (durch die breitere Zugänglichkeit) und somit ist es schwerer debugbar/nachvollziehbar. Von daher kommt auch die Forderung der Datenkapselung.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23: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