Entwickler-Ecke
Sonstiges (Delphi) - TThread
O'rallY - So 15.09.02 16:38
Titel: TThread
Erstmal der Code:
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:
| type TMyThread = class(TThread) private { Private declarations } protected procedure Execute; override; end;
...
procedure TMyThread.Execute; begin ShowMessage('Hello World!'); end;
procedure TForm1.Button1Click(Sender: TObject); var MyThread: TMyThread; begin MyThread := TMyThread.Create(true); MyThread.Priority := tpLower; MyThread.FreeOnTerminate := true; MyThread.Resume; end; |
Eine einfache Threadkonstruktion. Doch nachdem ich dann auf den Button1 drücke, und der Thread gestartet wird (so hoffe ich wenigstens :wink:) bekomme ich folgende Fehlermeldung:
'Canvas does not allow drawing.'
Ich hab mir schon ein paar Tutorials usw. angeguckt, doch irgendwie haben die mir nicht viel geholfen. Was ist daran falsch? Ich glaube ich stelle mich einfach nur blöd dran, aber es ist schon deprimierend :bawling: wenn man einen einfachen Thread nicht zum laufen bekommt, zumal Delphi einem das mit der Klasse TThread ja auch noch erleichtert :( .
O'rallY - So 15.09.02 18:29
öhm, hab ich die Frage falsch gestellt? Ich hab gedacht, dass meine Frage in Nullkommanix beantwortet werden kann... BITTE, HILFE!
Delete - So 15.09.02 18:42
Was erwartest du? :shock: Es sind gerade mal zwei Stunden um! :roll: Und es scheint noch niemand vorbeigekommen zu sein, der dir helfden könnte, soll vorkommen.
bei Delphi ist ein Threaddemo dabei im Unterverzeichnis Demos. da geht es um Sortierverfahren, musse mal guggen.
aogwaba - So 15.09.02 19:26
Hi!
in der OH steht in Bezug zu TThread.Execute:
Hinweis
Verwenden Sie die Eigenschaften und Methoden anderer Objekt nicht direkt in der Methode Execute eines Threads. Setzen Sie dazu einen separaten Prozedurenaufruf ein und rufen Sie diese Prozedur auf, indem Sie sie als Parameter an die Methode Synchronize übergeben.
cu
waba
O'rallY - So 15.09.02 19:38
| Zitat: |
| Was erwartest du? Es sind gerade mal zwei Stunden um! Und es scheint noch niemand vorbeigekommen zu sein, der dir helfden könnte, soll vorkommen. |
Ja, entschuldigung. War n bisl ungeduldig von mir (ich bins gewöhnt, superschnell Antworten zu bekommen, hier in diesem tollen Forum :wink: :lol:). Also, in Zukunft lass ich son Sch... *tief bereuh* :roll:
| Zitat: |
| bei Delphi ist ein Threaddemo dabei im Unterverzeichnis Demos. da geht es um Sortierverfahren, musse mal guggen. |
Hab ich schon angeguckt, nur nicht ganz "gecheckt". Sollte mal das ganze mal etwas genauer unter die Lupe nehmen.
Also nochmal, entschuldigung, war heut nicht so mein Tag. Musst mir verzeihen :crying:
Ok, trotzallem DANKE für die Hilfe! :)
Cashels - Mo 16.09.02 13:50
Hi,
kuck dir mal die TThread.Synchronize Methode an. Das dürfte die Lösung zu deinem Problem sein!
Gruss,
tom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!