AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Methode/Klasse "Modal" aufrufen?

Ein Thema von MorrisF · begonnen am 10. Nov 2021 · letzter Beitrag vom 11. Nov 2021
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: Methode "Modal" aufrufen mit TThreads?

  Alt 10. Nov 2021, 17:13
Richtig
Und füge bei FreeAndNil(tmpTel); lieber einen exception Handler ein.
Delphi-Quellcode:
    
except
  on e: Exception do
      ShowMessage(e.Message);
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.824 Beiträge
 
Delphi 12 Athens
 
#2

AW: Methode "Modal" aufrufen mit TThreads?

  Alt 10. Nov 2021, 21:32
Aber das Programm wartet überhaupt nicht.
Dann schauen wir halt mal auf deinen Code.
Delphi-Quellcode:
procedure TCallThread.Execute;
var
  tmpTask: ITask;
begin
  inherited;
  try
    tmpTask := TTask.Create(
      procedure
      begin
        Anruf(CallData);

        while not AnrufFertig do
          tmpTask.Wait();
        WaitFor();
      end
    );
    tmpTask.Start;
  except
    on e: Exception do
      ShowMessage(e.Message);
  end;
end;
Das Execute des Threads erzeugt also eine Task (Inhalt erstmal egal) und startet diese. Die Task wird in einem separaten Thread ausgeführt. Also ist die Execute-Methode damit beendet und wird verlassen. Der Code in der Task wird dann zwar noch in dem anderen Thread ausgeführt, aber der TAnrufThread wird wegen FreeOnTerminate nach dem Verlassen von Execute schon freigegeben.

Daher auch meine Frage
warum die Kombination aus Thread und Task?
Entweder das eine oder das andere, aber nicht beides!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
MorrisF

Registriert seit: 3. Apr 2019
41 Beiträge
 
#3

AW: Methode/Klasse "Modal" aufrufen?

  Alt 11. Nov 2021, 09:50
Habe grade meine Frage geupdated, weil die Herangehensweise falsch war
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.824 Beiträge
 
Delphi 12 Athens
 
#4

AW: Methode/Klasse "Modal" aufrufen?

  Alt 11. Nov 2021, 10:47
Habe grade meine Frage geupdated, weil die Herangehensweise falsch war
Das ist nicht so schön, denn damit verlieren alle bisherigen Antworten ihren Kontext. Wenn du also was updatest, dann mach das ein einem eigenen Beitrag und nicht im Eingangspost. So kann man der Historie besser folgen.

Nebenbei: Das Anrufen heißt offenbar jetzt Call.

Frage: Wo wird HangUp aufgerufen bzw. woran erkennst du dass der Call beendet ist?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort

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 13:36 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