Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu Threads Zugriff auf Methoden von VCL-Objekten (https://www.delphipraxis.net/22049-frage-zu-threads-zugriff-auf-methoden-von-vcl-objekten.html)

Gambit 11. Mai 2004 19:40


Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
Hallo,

habe hier in einem Lehrbuch stehen, dass man auf Methoden von VCL-Objekten nicht direkt in der Execute-Methode zugreifen darf, sondern das mit Hilfe der Synchronize-Methode machen soll. Heißt das:

1. dass ich z.B "Form1.Memo1.Lines.Add(irgendwas)" in diese Synchronize-Methode packen muss?

2. wenn ja, könnte ich ja auch in diese Synchronize-Methode eine Procedur schreiben die zB so aussieht:

Delphi-Quellcode:
Procedure MyThread.MemoOutIrgendwas;
begin
  Form1.Memo1.Lines.Add(irgendwas)
end;
und dann

Delphi-Quellcode:
Synchronize(MemoOutIrgendwas)
Das geht zwar, ich kann aber die Procedur MemoOutIrgendwas nicht mit einem Parameter belegen, da bekomme ich immer ne Fehlermeldung.

Gruß

Gambit

SirThornberry 11. Mai 2004 19:50

Re: Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
der methode synchronize kannst du keine parameter geben weil sie dann von einem anderen typ wäre. Eine Möglichkeit wäre das du im private-teil des threads eine variable deklarierst da einen wert reinschreibst, dann synchronize aufrufst und in der syncronisierten methode den wert aus der variablen liest

Gambit 11. Mai 2004 20:07

Re: Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
Danke für die schnelle Antwort! Aber nochmal zu Frage 1, also dass ich Form1.Memo1.Lines.Add(irgendwas) in die Synchronize-methode pachen sollte ist richtig?

Gruß

Gambit

Christian Seehase 11. Mai 2004 20:23

Re: Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
Moin Gambit,

grundsätzlich sollte das so funktionieren, wie Du es unter 2. geschrieben hast.
Du musst halt sehen wo Du den Wert reinschreibst, den Du mit Add hinzufügen willst. Z.B. kannst Du dafür ein privates Feld des Thread Objektes verwenden.

Luckie 11. Mai 2004 21:45

Re: Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
Siehe dazu auch meine Thread-Tutorial: http://tutorials.luckie-online.de

Gambit 11. Mai 2004 22:10

Re: Frage zu Threads Zugriff auf Methoden von VCL-Objekten
 
Besten Dank!!

Gruß

Gambit


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