Autor Beitrag
Xearox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Fr 13.02.15 08:36 
Hallo Zusammen,

schon lange nichts mehr in Delphi gemacht und wollte einfach mal wieder was neues Anfangen und habe das Thema Threads aufgeschnappt, wo ich leider total am verzweifeln bin :D

Ich habe nun etliche Seiten durch.

Hier im Forum habe ich dazu ein ziemlich einfaches Beispiel gefunden, was aber NULL funktioniert.

www.entwickler-ecke....n+sein+_69926,0.html

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  MeinThread1 = class(TThread)
  protected
     procedure Ausgabe; // nur mir Synchronize aufrufen da zugriff auf Hauptthread
     procedure Execute; override;
  public

  end;


var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure MeinThread1.Ausgabe;
begin
   Form1.Memo1.Lines.Add('Text');
end;

procedure MeinThread1.Execute;
begin
   Synchronize(Ausgabe);
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  aThread : MeinThread1;
begin
  aThread := MeinThread1.Create(false);
end;

end.


Nur das mit dem Button hab ich selbst eingefügt, um entsprechend den Thread zu starten.

Auch habe ich mir Beispiele von:

de.wikibooks.org/wik...phi:_Pascal:_Threads
www.opengl24.de/tutorials/multithreading
entwickler.de/online...t-delphi-116130.html

angeschaut, aber nichts davon bringt mir was, weil es einfach nicht funktionieren will.

Ich nutze Delphi 2010, wo darüber hinaus, resume und suspend als veraltet markiert sind, allerdings nutzen die Seiten, welche ich bisher gefunden habe, eben diese Kommandos.


Aber leider funktioniert noch nicht einmal das oben genannte Beispiel. Der Thread wird einfach nicht aufgerufen.


Vielen Dank =)
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 13.02.15 08:45 
Also bei mir funktioniert Dein Beispiel. Ich kann jetzt auch so keinen offensichtlichen Fehler finden. :nixweiss:

Nur ein paar Anmerkungen, die aber nichts mit dem Fehler zu tun haben:
Das 2. "type" im Interface kannst Du weglassen.
Die Klasse solltest Du TMeinThread1 nennen, um der üblichen Namensgebung zu folgen.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Xearox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Fr 13.02.15 08:54 
user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Also bei mir funktioniert Dein Beispiel. Ich kann jetzt auch so keinen offensichtlichen Fehler finden. :nixweiss:

Nur ein paar Anmerkungen, die aber nichts mit dem Fehler zu tun haben:
Das 2. "type" im Interface kannst Du weglassen.
Die Klasse solltest Du TMeinThread1 nennen, um der üblichen Namensgebung zu folgen.


Oh Oh ... das ist jetzt aber echt peinlich ... :oops:

Das OnClick Event hat vom Button1, wieso auch immer, gefehlt.

Ich glaube, es ist Zeit, sich ein wenig hin zu legen. Dann passiert sowas auch nicht mehr.

Vielen Dank Nersgatt.

Und allen anderen, die diesen Thread lesen.

Viel Spaß beim Karneval ;-)