![]() |
thread soll procedure auslösen...
hi, ich habe eine klasse von einem Thread programmiert, wo ein nachfahre in der main unit ist und jener soll eine prozedur von der mainform auslösen/aufrufen, jedoch kann ich nicht auf die prozeduren der form zugreifen, gibt es da eine möglichkeit dies zu tun oder habe ich einfach nur was falsch gemacht?
|
Re: thread soll procedure auslösen...
Moin Fabian,
wenn Du jetzt noch bisschen Code zeigst könnte die Frage vielleicht sogar beantwortet werden ;-) |
Re: thread soll procedure auslösen...
ok leider ist noch nicht soviel gegliedert ^^
Delphi-Quellcode:
type
TLeitrechnerForm = class(TForm) procedure Visualisiere; //soll ausgelöst werden Type TAktuThread = class(TMyAktuThread) private protected procedure DoIt; override; end;
Delphi-Quellcode:
procedure TAktuThread.DoIt;
var i : byte; begin case sende of 1 : for i := 1 to 6 do if KreuzungInfos[i,6] = 'online' then verb[i].SendStr('get:AHS_'); 2 : for i := 1 to 6 do if KreuzungInfos[i,6] = 'online' then verb[i].SendStr('get:MOD_'); 3 : for i := 1 to 6 do if KreuzungInfos[i,6] = 'online' then verb[i].SendStr('get:ANS_'); end; //hier soll nun noch ne procedure von der mainform ausgelöst werden end; |
Re: thread soll procedure auslösen...
Ruf in der
![]() |
Re: thread soll procedure auslösen...
der sagt compiler sagt mir sowohl mit Synchronize und ohne das TThreadMethod und Prozeduren inkomplatible typen sind
|
Re: thread soll procedure auslösen...
Einfach mal mutig in der Hilfe nachschlagen, das sollte alles erklären.
|
Re: thread soll procedure auslösen...
hmmm ich bin zu dumm ich komme zu keiner lösung....
|
Re: thread soll procedure auslösen...
Moin Fabian,
Du musst in der Thread-Klasse noch eine Methode einfügen. In dieser rufst Du dann die Methode der Form auf. Die Methode in der Thread-Klasse wird dann mit Synchronize aufgerufen. [EDIT=Mist, Beispiel vergessen :?]
Delphi-Quellcode:
[/EDIT]
Type
TAktuThread = class(TMyAktuThread) private procedure MyThreadMethod; protected procedure DoIt; override; end; implementation procedure TAktuThread.MyThreadMethod; begin Visualisiere; end; procedure TAktuThread.DoIt; begin //.... Synchronize(MyThreadMethod); //... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 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