![]() |
AW: Thread soll die richtige LForm finden.
Thread
Delphi-Quellcode:
In der per Button erzeugten Form
constructor TThread.Create(aList: TStringList; aFormxyz: TFormxyz );
begin inherited Create (false) ; FreeOnTerminate:= True; FResultstringlist:= TStringList.Create; FList:= TStringList.Create; FList.Assign(aList); FFormxyz:= aFormxyz; end; procedure TThread.ResultThread; begin FFormxyz.SetThreadResult(FResultstringlist); end;
Delphi-Quellcode:
und es wird wie vorher die falsche Form angesprochen...........
LThread:= TThread.Create(LList,Formxyz);
@SirRufo Die FormXYZ wird ja x Fach erzeugt als LFormxyz mit unterschiedlichen Parametern. und bleibt erhalten, bis die Ergebnisse des/der Threads ausgewertet sind. Allerdings schreibt der Thread nicht das Ergebnis in LFormxyz(x) (die den Tread gestartet hat ) sondern in die "Grund-Formxyz" |
AW: Thread soll die richtige LForm finden.
Kannst du mal mehr Code zeigen? In der Threadklasse sieht soweit alles gut aus. Ich nehme an, dass du beim Erstellen der Forms irgendwas falsch machst. Eventuell weist du alle Instanzen der selben Variable zu?
|
AW: Thread soll die richtige LForm finden.
Zitat:
Delphi-Quellcode:
Sobald du mehrere Instanzen eines FormuLars verwendest solltest du wirklich wie schon vorgeschlagen die globale Variable Formxyz löschen um Verwechslungen zu vermeiden.
LThread := TThread.Create(LList, Self);
// Self ist das Formular, in dessen Methode du dich gerade befindest |
AW: Thread soll die richtige LForm finden.
Tadaaaaaaaa :):):)
Nun seh ich auch den Wald vor lauter Bäumen. Das "self" war die Lösung. Auch der Knoten ist geplatzt mit der "Globalen Variable" Ich danke für das fehlende Puzzleteil! Lieben Gruß und vielen vielen Dank SM;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz