Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aus Thread auf Variablen zugreifen (https://www.delphipraxis.net/36317-aus-thread-auf-variablen-zugreifen.html)

Pr0g 18. Dez 2004 13:51


Aus Thread auf Variablen zugreifen
 
Hallo,

ich habe einen Thread und möchte von diesem aus auf eine Variable des Hauptprgramms (FrmMain) zugreifen. Nun meine simple Frage. Kann ich einfach per "FrmMain.VariablenName" darauf zugreifen (was auch funktioniert), oder sollte man dies unterlassen und einen anderen Weg gehen, da es zu Fehler kommen könnte.

MfG Pr0g

Jelly 18. Dez 2004 14:07

Re: Aus Thread auf Variablen zugreifen
 
Immer, wenn du aus deinem Thread auf externe Daten zugreifst, tu dies über die Synchronize Methode, um zu verhindern daß mehrere Threads gleichzeitig schreibend auf einen Speicherbereich zugreifen.

Pr0g 18. Dez 2004 14:10

Re: Aus Thread auf Variablen zugreifen
 
Ok, werde mir das mit dem Synchroize mal angucken. Könnte man dies theoretisch weglassen, wenn man sicher ist, dass eine Variable nur aus dem Thread und nirgendwo sonst beschrieben wird?

Jelly 18. Dez 2004 14:11

Re: Aus Thread auf Variablen zugreifen
 
Zitat:

Zitat von Pr0g
Könnte man dies theoretisch weglassen, wenn man sicher ist, dass eine Variable nur aus dem Thread und nirgendwo sonst beschrieben wird?

Gewöhn dir das gar nicht erst an :wink: Das führt früher oder später zu Schutzverletzungen

Pr0g 18. Dez 2004 14:18

Re: Aus Thread auf Variablen zugreifen
 
Ich wollte ja nur wissen, ob es theoretisch Möglich wäre.

Nochwas, wie sieht es mit Prozedure aus, die ich aus dem Thread aufrufe. Muss da irgendwas beachtet werden.

Jelly 18. Dez 2004 14:27

Re: Aus Thread auf Variablen zugreifen
 
Zitat:

Zitat von Pr0g
Nochwas, wie sieht es mit Prozedure aus, die ich aus dem Thread aufrufe. Muss da irgendwas beachtet werden.

Verlager die Prozedur in dein Thread und ruf sie threadintern und -sicher mit
Delphi-Quellcode:
Synchronize(...) ;
auf.

Sprint 18. Dez 2004 14:31

Re: Aus Thread auf Variablen zugreifen
 
Zitat:

Zitat von Pr0g
Ich wollte ja nur wissen, ob es theoretisch Möglich wäre.

Möglich ist das schon. Delphi bietet dir aber einiges an, damit ist nicht zu Kollisionen kommt. z.B. Synchronize aus der Klasse TThread. Oder aber auch TCriticalSection.

TMultiReadExclusiveWriteSynchronizer ist mein bevorzugter Kandidat, bei MultiThread-Anwendungen.

Pr0g 18. Dez 2004 14:33

Re: Aus Thread auf Variablen zugreifen
 
Danke euch, werde es nun aber doch erstmal ohne Thread versuchen, solange ich es nicht schaffe im Thread Musik zu laden und später drauf zuzugreifen, siehe hier.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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