AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form nach Thread schließen

Ein Thema von youuu · begonnen am 14. Nov 2010 · letzter Beitrag vom 15. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2   
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Form nach Thread schließen

  Alt 14. Nov 2010, 16:06
Ich führe einen TThread aus, sobald dieser abgearbeitet wurde, soll das aktuelle Form schließen.
Wenn ich das im Thread schreibe, erhalte ich logischerweise eine Zugriffsverletzung.

Wie kann ich das aber nun am elegantesten realisieren?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Form nach Thread schließen

  Alt 14. Nov 2010, 16:09
TThread hat ein OnTerminate Event (oder so) - das verknüpfst du mit einer Methode deines Formulars. Darin kannst du dann einfach Release() aufrufen.
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Form nach Thread schließen

  Alt 14. Nov 2010, 16:41
Das versteh ich nun noch nicht ganz.
Mit welcher Methode des Formulars soll ich das denn verknüpfen?
Und wieso Release?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Form nach Thread schließen

  Alt 14. Nov 2010, 16:44
Formulare sollten mit Release freigegeben werden. Und die Methode musst Du halt schreiben und zuweisen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Form nach Thread schließen

  Alt 14. Nov 2010, 16:46
Delphi-Quellcode:
Procedure TForm.MeineInfoWennThreadFertig(Sender:TObject);
begin
   Close;
end;
//....
//....
Mythread := TMYthread.Create;
MyThread.OnTerminate := MeineInfoWennThreadFertig;
//...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Form nach Thread schließen

  Alt 14. Nov 2010, 16:53
Ok verstanden, danke.
Steven
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Form nach Thread schließen

  Alt 15. Nov 2010, 09:20
Ich hol den Thread nochmal hoch aus dem Grund, das mein OnTerminate nicht funktionieren will.

EmailSendThread.OnTerminate:= MailVersandt; Rufe ich auf und erhlate die Meldung beim Compiler: E2009 Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'


MailVersandt hat allerdings gar keine Parameter angegeben.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Form nach Thread schließen

  Alt 15. Nov 2010, 09:22
Die zuzuweisende Methode muss ein TNotifyEvent sein, muss/darf also lediglich den Sender-Parameter aufweisen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Form nach Thread schließen

  Alt 15. Nov 2010, 09:40
Nochmal zum Verständnis

in private deklariert der Klasse:procedure MailVersandt; Thread wird so aufgerufen in der Klasse selbst:

Delphi-Quellcode:
      
EmailSendThread:= TEmailSendThread.Create(msg, smtp);
EmailSendThread.OnTerminate:= MailVersandt;
EmailSendThread.Start;

Was muss ich daran ändern?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Form nach Thread schließen

  Alt 15. Nov 2010, 09:43
procedure Mailversandt(Sender: TObject);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:46 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