AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TTask.run und Form.close wie geht das richtig?
Thema durchsuchen
Ansicht
Themen-Optionen

TTask.run und Form.close wie geht das richtig?

Ein Thema von fisipjm · begonnen am 27. Okt 2021 · letzter Beitrag vom 7. Nov 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#1

AW: TTask.run und Form.close wie geht das richtig?

  Alt 27. Okt 2021, 16:02
Der Zeiger in Self kann genutzt werden, zum Suchen.
Vergleiche mit Screen.Forms prüft ja nur den Zeiger, aber nicht den Objektinhalt.

Wenn die Form schon weg ist, dann ist natürlich das Objekt, worauf "Self" zeigt, inkl. allem anderen dieser Form (abgesehn von lokalen Variablen und Funktionsparametern) auch weg.



Eine böse globale Variable oder ein Interface, um den "bin weg"-Status zu übergeben, das ginge ebenfalls.




Nja, an FDMemtable hängt doch bestimmt was dran?
z.B. ein Grid
Und schon macht es peng.

Hier könnte man aber
* entweder die Memtable vorübergehend von der DataSource abhängen
* oder die DataSource auf Enabled=False stellen
* oder schauen, ob das Grid eine Speerfunktion besitzt

Nur weil das Grid vielleicht unsichtbar ist, holt es sich dennoch intern schon die aktuellen Daten (reagiert auf Ereignisse der DataSource/DataSet)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
334 Beiträge
 
Delphi 12 Athens
 
#2

AW: TTask.run und Form.close wie geht das richtig?

  Alt 28. Okt 2021, 07:12
Eine böse globale Variable oder ...
Moin,

hast du ein Beispiel für mich, nicht umbedingt um es zu benutzen, eher um es zu verstehen. Für mich sind Interfaces aktuell noch sehr abstrakt.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTask.run und Form.close wie geht das richtig?

  Alt 28. Okt 2021, 07:15
Wenn du ein Fenster schließen möchtest, obwohl da noch ein Task läuft, musst du dieses tun:
1. das Schließen des Fensters abbrechen
2. den Task nach Möglichkeit rasch beenden

Du kannst in 1. dem User eine Info geben, dass da ein Task noch läuift + er es später nochmal probieren soll.
Du kannst in 1. einen Timer starten, der das Schließen nach xxx Sekunden automatisch nochmal probiert.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TTask.run und Form.close wie geht das richtig?

  Alt 28. Okt 2021, 07:37
Könnte man nicht
1. das Schließen des Fensters abbrechen
2. den Task informieren, dass er sich weiter Arbeit sparen kann
3. Das Fenster unsichtbar machen (der Anwender kann dann weiter machen)
4. Wenn der Task fertig ist das Fenster schließen
  Mit Zitat antworten Zitat
Antwort Antwort


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:02 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-2025 by Thomas Breitkreuz