Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi thread soll procedure auslösen... (https://www.delphipraxis.net/57531-thread-soll-procedure-ausloesen.html)

FabianIBerlin 22. Nov 2005 20:22


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?

Christian Seehase 22. Nov 2005 20:27

Re: thread soll procedure auslösen...
 
Moin Fabian,

wenn Du jetzt noch bisschen Code zeigst könnte die Frage vielleicht sogar beantwortet werden ;-)

FabianIBerlin 22. Nov 2005 20:30

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;

Luckie 22. Nov 2005 20:32

Re: thread soll procedure auslösen...
 
Ruf in der Delphi-Referenz durchsuchenSynchronize Methode der Thread-Klasse diese Prozedur auf.

FabianIBerlin 22. Nov 2005 20:35

Re: thread soll procedure auslösen...
 
der sagt compiler sagt mir sowohl mit Synchronize und ohne das TThreadMethod und Prozeduren inkomplatible typen sind

Luckie 22. Nov 2005 20:36

Re: thread soll procedure auslösen...
 
Einfach mal mutig in der Hilfe nachschlagen, das sollte alles erklären.

FabianIBerlin 22. Nov 2005 20:50

Re: thread soll procedure auslösen...
 
hmmm ich bin zu dumm ich komme zu keiner lösung....

Christian Seehase 22. Nov 2005 21:49

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:
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;
[/EDIT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 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