Einzelnen Beitrag anzeigen

MorrisF

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

Create(TComponent) innerhalb eines TThreads aufrufen

  Alt 23. Nov 2021, 17:33
Hallo liebes Delphi-PRAXIS-Forum,
ich habe ein Problem mit Threads...
Habe mir eine SIP-Telefon-Klasse geschrieben, welche mit verknüpften Events/Methoden arbeitet
Delphi-Quellcode:
SIP_Client := TSIPclient.Create(aOwner);
SIP_Client.OnRegistration := OnRegistration;
SIP_Client.OnCall := OnCall;
SIP_Client.OnAnswer := OnAnswer;
SIP_Client.OnBye := OnHangup;
die Methoden habe ich innerhalb meiner Telefon-Klasse dann neu definiert.
Die Events werden immer bei der entsprechenden Aktion ausgelöst. (z.B.: Wenn man auflegt, wird OnHangup() ausgelöst usw...)
Wenn ich meine Telefon-Klasse aufrufen will funktioniert das im Regelfall so:
Telefon := TTelefon.Create(Self, Server, User, Pass); Dabei ist aOwner (vom Typ TComponent ) mein Self , dass ich im Konstruktor von TTelefon mit gebe.
Funktioniert super in "normalen" Klassen.
Jetzt wollte ich mein Telefon innerhalb eines TThread Createn aber wenn ich Telefon := TTelefon.Create(TComponent(Form_Main), Server, User, Pass); (Mit .Create(TComponent(Self), ...) gehts auch nicht) mache, dann werden die verknüpften Events nicht ausgelöst. Weiß jemand warum?
In Form_Main hat es wieder funktioniert. Nur nicht aus dem Thread heraus.
Würde mich freuen, wenn jemand eine Lösung für mein Problem wissen würde!
  Mit Zitat antworten Zitat