Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Thread Programmierung unter Windows mit Delphi (https://www.delphipraxis.net/9238-thread-programmierung-unter-windows-mit-delphi.html)

Luckie 21. Sep 2003 13:46


Thread Programmierung unter Windows mit Delphi
 
Threads mit Delphi
Thema: Threadprogrammierung mit Delphi

Version: 2.4 vom 2005-10-29

Inhaltsverzeichnis:
Zitat:

1 Vorwort........................................... .................................................. ....................... 4
2 Einführung........................................ .................................................. ...................... 5
2.1 Geschichtliches................................... .................................................. .............. 5
2.2 Begriffsdefinition................................ .................................................. ............... 5
2.2.1 Was ist ein Prozess?.......................................... ............................................ 5
2.2.2 Threads, die arbeitende Schicht........................................... ........................... 6
2.2.3 Multitasking und Zeitscheiben...................................... ................................... 7
2.3 Wann sollte man Threads einsetzen und wann nicht?............................................ .... 7
3 Grundlagen........................................ .................................................. ..................... 9
3.1 Zur Veranschaulichung................................. .................................................. ...... 9
3.2 Die Thread-Funktion.......................................... ................................................. 10
3.3 Einen Thread abspalten......................................... ............................................. 10
3.4 Beenden eines Threads........................................... ............................................ 11
3.4.1 Die Thread-Funktion endet............................................. .............................. 11
3.4.2 ExitThread........................................ .................................................. ....... 12
3.4.3 TerminateThread................................... .................................................. .... 12
3.4.4 Vorgänge beim Beenden eines Threads........................................... ............... 13
4 Thread-Ablaufsteuerung................................... .................................................. ....... 15
4.1 Anhalten und Fortsetzen von Threads........................................... ........................ 16
4.1.1 Fortsetzen........................................ .................................................. ........ 16
4.1.2 Anhalten.......................................... .................................................. ........ 16
4.1.3 Zeitlich begrenztes Unterbrechen...................................... ............................ 17
4.2 Temporärer Wechsel zu einem anderen Thread............................................ .......... 17
4.3 Thread Ausführungszeiten, Beispielanwendung ThreadTimes....................................18
5 Thread-Prioritäten....................................... .................................................. ........... 20
5.1 Darstellung der Prioritäten....................................... ........................................... 20
5.1.1 Prozess-Prioritäten....................................... ............................................... 20
5.1.2 Thread-Prioritätsklassen................................. .............................................. 22
5.2 Programmieren von Prioritäten....................................... ..................................... 24
5.2.1 festlegen der Prioritätsklasse.................................. ...................................... 24
5.2.2 Festlegen der Thread-Priorität......................................... .............................. 25
5.2.3 Prioritätsanhebung durch das System............................................ ................ 26
5.3 Beispielanwendung "Priority-Demo"............................................. ......................... 27
6 Thread-Synchronisation................................... .................................................. ........ 29
6.1 Atomarer Variablenzugriff.................................. ................................................. 29
6.2 Kritische Abschnitte........................................ .................................................. . 31
6.2.1 Wie funktionieren kritische Abschnitte........................................ .................... 33
6.2.2 Kritische Abschnitte und SpinLocks......................................... ....................... 34
7 Thread-Synchronisation mit Kernel-Objekten (neu in Version 2.2)................................... 36
7.1 WaitForxxx-Funktionen........................................ ............................................... 36
7.1.1 WaitForSingleObject............................... .................................................. ... 36
7.1.2 WaitForMultipleObjects............................ .................................................. .. 38
7.1.3 MsgWaitForMultipleObject (neu in Version 2.3).............................................. .. 38
7.2 Ereignisobjekte................................... .................................................. ............. 39
8 Das VCL Thread-Objekt............................................ ................................................. 41
8.1 Erzeugen, Eigenschaften, Methoden.......................................... ............................41
8.1.1 Erzeugen.......................................... .................................................. ....... 41
8.1.2 Eigenschaften..................................... .................................................. ...... 42
8.1.3 Methoden.......................................... .................................................. ....... 43
8.2 Beispiel einer Execute Methode........................................... ................................. 43
8.3 Synchronisation des Thread-Objektes.......................................... ......................... 44
Insgesamt 45 Seiten

Das Tutorial liegt als PDF vor und kann hier: http://delphitutorials.michael-puff.de runtergeladen bzw. online eingesehen werden. In dem dazugehörigen Zip Archiv (Threads_mit_Delphi.zip) befinden sich noch zusätzlich Demos.

Chewie 21. Sep 2003 14:41

Re: Thread Programmierung unter Windows mit Delphi
 
Ein paar kleine Bemerkungen, nachdem ich ein paar Seiten gelesen habe:
  • Seite 5:
    Zitat:

    Sie können den selbe Code...
  • Seite 6:
    Zitat:

    Diese können sie...
    (Sie groß!)
  • Auf Seite 7 zitierst du die Delphi-Hilfe und schreibst, man solle niemals CreateThread benutzen, weiter oben aber gehst du nur auf CreateThread und nicht auf BeginThread ein :shock:

So, mal schauen, welche Fehler Matthias Simmack noch alle findet :mrgreen:

TheMiller 21. Sep 2003 16:38

Re: Thread Programmierung unter Windows mit Delphi
 
Sorry,

aber werden Anreden in der neuen dt. Schlechschreibung nicht klein geschrieben oder ist bzw irrelevant, ob man Anerden groß oder klein schreibt??? Kann mich auch irren, aber so kenne ich das...

MathiasSimmack 21. Sep 2003 16:54

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Chewie
So, mal schauen, welche Fehler Matthias Simmack noch alle findet

Gleich einen! Setzen, Sechs!


@DJ-SPM: Am großen "Sie" ändert sich auch in der neuen Rechtschreibung nichts. Es sei denn, du willst unbedingt unter Beweis stellen, dass für dich die PISA-Studie gilt ... :roll:

Luckie 21. Sep 2003 19:14

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Chewie
Seite 5:
Zitat:

Sie können den selbe Code...

Vermerkt. Aber ich sammele erst mal etwas.
Zitat:

[*]Seite 6:
Zitat:

Diese können sie...
(Sie groß!)
In einer Anrede ja und ihm Brief ja, aber auch im Fließtext? :gruebel:
Zitat:

[*]Auf Seite 7 zitierst du die Delphi-Hilfe und schreibst, man solle niemals CreateThread benutzen, weiter oben aber gehst du nur auf CreateThread und nicht auf BeginThread ein :shock:
Ja und? CreateThread ist die Grundlage für BeginThread. BeginThread ist nur der Wrapper und dessen Parameter kannst du in der Hilfe nachkucken.
Zitat:

So, mal schauen, welche Fehler Matthias Simmack noch alle findet :mrgreen:
Schon hast du dich dusqualifiziert. :mrgreen:

Stanlay Hanks 21. Sep 2003 19:27

Re: Thread Programmierung unter Windows mit Delphi
 
Auch wenn das nicht das Hauptthema werden sollte:
Die Anreden "Sie, Ihr, Ihre (treu ergebene Mitarbeiterin...)" werden sowohl in Briefen, als auch in Fließtexten groß geschrieben. Die Anreden "du, dein" werden klein geschrieben, auch in beiden Fällen.

Man liest sich, Stanlay :hi:

Chewie 21. Sep 2003 19:43

Re: Thread Programmierung unter Windows mit Delphi
 
Bezüglich BeginThread/CreateThread:

Es ist meiner Ansicht nach für jemanden, der neu in der Materie ist, etwas unverständlich, wenn es erst so aussieht, es mache keinen großen Unterschied, ob man CreateThread oder BeginThread benutze, dann aber weiter unten steht, CreateThread solle vermieden werden.

Luckie 21. Sep 2003 20:25

Re: Thread Programmierung unter Windows mit Delphi
 
Ich hab doch klar und deutlich geschrieben, warum BeginThread vorzuziehen ist. Ich glaube, du konstruierst da jetzt ein Problem.

BTW setze ich voraus, das jemand erst alles liest und dann loslegt.

Motzi 22. Sep 2003 09:34

Re: Thread Programmierung unter Windows mit Delphi
 
Seite 5: du schreibst du zuerst die C-Deklaration der Thread-Funktion, dann den Hinweis, dass die Aufrufkonvention in Delphi stdcall sein muss und dann die Delphi-Threadfunktion - ABER: die Delphi-Threadfunktion ist nicht als stdcall deklariert, da dieser TThreadFunc-Typ nur im Zusammenhang mit BeginThread verwendet wird und diese eine eigene Wrapper-Funktion verwendet.
Ich finde diese Kombination aus dem Hinweis auf die Aufrufkonvention und der Delphi-Deklaration ohne stdcall doch irgendwie irreführend... :?

Seite 9:
Zitat:

Den einzelnen Prozessen werden durch den Scheduler einzelne Zeitscheiben zugewiesen. Läuft ihre Zeitscheibe ab, so werden sie unterbrochen und ein anderer Prozess erhält eine Zeitscheibe.
Ein Prozess selbst kann doch keine Zeitscheibe erhalten, da ein Prozess selbst nie Code ausführt, sondern immer nur dessen Threads.. oder irr ich mich da jetzt? :?

Seite 16:
Zitat:

Windows stellt keine Funktion zur Verfügung, mit der sich die Prioritätsstufe eines Threads ermitteln lässt. [..]
Funktion gibt es keine, aber ich hab trotzdem eine interessante Doku dazu gefunden: http://msdn.microsoft.com/library/de...priorities.asp

Seite 22:
Zitat:

Grundlage ist die Datenstruktur CRITICAL_SECTIONS. Sie ist nicht dokumentiert, da Microsoft der Meinung ist, dass sie vom Programmierer verstanden werden müsste.
Ein kleines Paradoxon.. ;)

Abgesehen von ein paar kleinen Tipp-Fehlern hab ich sonst nix mehr gefunden... 8)

Luckie 22. Sep 2003 09:44

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Motzi
Seite 5: du schreibst du zuerst die C-Deklaration der Thread-Funktion, dann den Hinweis, dass die Aufrufkonvention in Delphi stdcall sein muss und dann die Delphi-Threadfunktion - ABER: die Delphi-Threadfunktion ist nicht als stdcall deklariert, da dieser TThreadFunc-Typ nur im Zusammenhang mit BeginThread verwendet wird und diese eine eigene Wrapper-Funktion verwendet.
Ich finde diese Kombination aus dem Hinweis auf die Aufrufkonvention und der Delphi-Deklaration ohne stdcall doch irgendwie irreführend... :?

Ja, das müßte ich noch irgendwie klarer machen. Evenzuell in dem ich erst noch die Delphi Deklaration von CreateThread aufführe.

Zitat:

Seite 9:
Zitat:

Den einzelnen Prozessen werden durch den Scheduler einzelne Zeitscheiben zugewiesen. Läuft ihre Zeitscheibe ab, so werden sie unterbrochen und ein anderer Prozess erhält eine Zeitscheibe.
Ein Prozess selbst kann doch keine Zeitscheibe erhalten, da ein Prozess selbst nie Code ausführt, sondern immer nur dessen Threads.. oder irr ich mich da jetzt? :?
Du irrst nicht. Habe ich ja auch geschrieben, dass der Prozess nur ein Container für die Threads ist. An der Stelle müßte es also Thread heißen und nicht Prozess.

Zitat:

Seite 16:
Zitat:

Windows stellt keine Funktion zur Verfügung, mit der sich die Prioritätsstufe eines Threads ermitteln lässt. [..]
Funktion gibt es keine, aber ich hab trotzdem eine interessante Doku dazu gefunden: http://msdn.microsoft.com/library/de...priorities.asp
Mal kucken. Halt, das sind die Prioritätesklassen. Die Prioritätsstufe eines Threads wird aus der Basispriorität des Prozesses und der relativen Priorität des Threads gebildet. Sie Tabelle Seite 15. Die Tabelle im MSDN liefert zwar eine Zuordnung, man kann sie aber nicht abfragen. Im Endeffekt ist es die gleiche Tabelle wie bei mir auf Seite 15.

Zitat:

Seite 22:
Zitat:

Grundlage ist die Datenstruktur CRITICAL_SECTIONS. Sie ist nicht dokumentiert, da Microsoft der Meinung ist, dass sie vom Programmierer verstanden werden müsste.
Ein kleines Paradoxon.. ;)
Kein Paradoxon, wenn man berückstichtig, dass da ein "nicht" fehlt. :mrgreen:
Zitat:

Abgesehen von ein paar kleinen Tipp-Fehlern hab ich sonst nix mehr gefunden... 8)
Die will ich auch. Die Rechtschreibüberprüfung von OpenOffice scheint nicht so das ware zu sein.

Motzi 22. Sep 2003 10:03

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Motzi
Seite 5: du schreibst du zuerst die C-Deklaration der Thread-Funktion, dann den Hinweis, dass die Aufrufkonvention in Delphi stdcall sein muss und dann die Delphi-Threadfunktion - ABER: die Delphi-Threadfunktion ist nicht als stdcall deklariert, da dieser TThreadFunc-Typ nur im Zusammenhang mit BeginThread verwendet wird und diese eine eigene Wrapper-Funktion verwendet.
Ich finde diese Kombination aus dem Hinweis auf die Aufrufkonvention und der Delphi-Deklaration ohne stdcall doch irgendwie irreführend... :?

Ja, das müßte ich noch irgendwie klarer machen. Evenzuell in dem ich erst noch die Delphi Deklaration von CreateThread aufführe.

Ja.. zuerst die Delphi-Deklaration von CreateThread und dann der Übergang auf BeginThread, wobei ich das nicht nur in einem kleinen Hinweis machen würde! Vielleicht auch noch mit der Deklaration von BeginThread...

Zitat:

Zitat:

Seite 16:
Zitat:

Windows stellt keine Funktion zur Verfügung, mit der sich die Prioritätsstufe eines Threads ermitteln lässt. [..]
Funktion gibt es keine, aber ich hab trotzdem eine interessante Doku dazu gefunden: http://msdn.microsoft.com/library/de...priorities.asp
Mal kucken. Halt, das sind die Prioritätesklassen. Die Prioritätsstufe eines Threads wird aus der Basispriorität des Prozesses und der relativen Priorität des Threads gebildet. Sie Tabelle Seite 15. Die Tabelle im MSDN liefert zwar eine Zuordnung, man kann sie aber nicht abfragen. Im Endeffekt ist es die gleiche Tabelle wie bei mir auf Seite 15.
Ja, es gibt keine Funktion um sie abzufragen, und die Tabelle ist (mit ein paar Unterschieden) fast dieselbe wie in deinem PDF (bzw dieselbe wie im Buch von Jeffrey Richter), nur dass sie noch ein bisschen detailierter ist. Aber die Tatsache, dass MS sich vorbehält den Algo jederzeit zu ändern hat mich davon ausgehen lassen, dass es keine offiziellen Dokus dazu gibt. Aber anscheinend hab ich mich geirrt...

Zitat:

Zitat:

Abgesehen von ein paar kleinen Tipp-Fehlern hab ich sonst nix mehr gefunden... 8)
Die will ich auch. Die Rechtschreibüberprüfung von OpenOffice scheint nicht so das ware zu sein.
Ok... *nochmalaufdiesuchemach* ;)

Luckie 22. Sep 2003 10:09

Re: Thread Programmierung unter Windows mit Delphi
 
Der Algorithmus, wie die Tabelle zustandekommt ist nicht dokumentiert. MS will sich vorbehalten diesen jeder Zeit zuänder. Und wenn du dein Programm jetzt von den Stufen abhängig machst, kann das ins Auge gehen in Zukünftigen Versionen.

Motzi 22. Sep 2003 11:18

Re: Thread Programmierung unter Windows mit Delphi
 
Ich weiß.. und genau deswegen dachte ich auch das es keine offiziellen Dokus darüber gibt. Aber ich hab mich anscheinend getäuscht... ;)

Wegen Tippfehlern:
Seite 6:
Zitat:

Man sollte möglichst keine globalen variablen verwenden, [..]
Seite 9:
Zitat:

Beim preemtiven Multitasking - im Gegensatz zum kooperativen Mutlitasking, wie Windows eins ist, [...]
Diese Satzkonstruktion is nicht ganz glücklich... ;)
Seite 16:
Zitat:

Nachträglich kann dir Prioritätsklasse mit der Funktion SetPriorityClass geändert werden
Seite 16:
Zitat:

Das Gegenstück dazu ist die Funktion GetPriorityClass, welchen die Prioritätsklasse von dem mit hProcess angegebenen Prozess zurück gibt
Seite 17:
Zitat:

Da diese dynamische Anhebung kann laut einiger Entwickler zu einem nachteiligen Leistungsverhalten der eigenen Anwendung führen
Seite 17:
Zitat:

Bemerkt das System, dass ein Thread über drei bis vier Sekunden derart blockiert wird, setzt es die Prioritätsstufe des Threads für zweit aufeinanderfolgende Zeitscheiben auf die Stufe 15 und senkt sie danach sofort wieder auf die Basispriorität ab
Seite 19:
Zitat:

[..]nicht mehr 2 sondern 1! das Ergebnis hängt[..]
Kapitel 4.2 - Kritische Abschnitte:
kritische Abschnitte sollten immer in einem Resource-Schutz-Block gekapselt sein, damit auch im Falle eines Fehlers die critical section wieder verlassen wird!
Seite 22:
Zitat:

So bald die kritischen Abschnitte nicht mehr gebraucht werden [..]
Seite 22:
Zitat:

EnterCriticalSection untersucht dabei die Elementvariablen der CRITICAL_SECTION-Struktur und entnimmt ihnen den Zustand der Resourcen
Seite 22:
Zitat:

Zeigt das Element an, dass der aufrufende Thread schon Zugang zu den Resourcen hat, wird der Zähler erhöht,d er festhält wie oft[..]
Generell hast du relativ viele Fehler mit "zuviel" Leerzeichen.. jetzt mal ohne Seitenangaben:
wie viel -> wieviel
in sofern -> insofern (zB Seite 12)
so bald -> sobald

Mehr ist mir momentan nicht aufgefallen...

Luckie 22. Sep 2003 11:59

Re: Thread Programmierung unter Windows mit Delphi
 
Die Leertaste ist eben so groß, die trifft man so leicht. :roll:

Phoenix 22. Sep 2003 13:56

Re: Thread Programmierung unter Windows mit Delphi
 
Und den Button um hier zu posten trifft man auch immer gerne doppelt, gelle? ;-)

Seite 5:
Zitat:

Sie können den selbe Code ausführen...
Zitat:

..., wird auch der Prozess beendet und der Adressraum des Prozesses freigegeben..
Seite 11:
Zitat:

Oft findet man zu diesem Zweck Code wie diesem:
Seite 14:
Zitat:

..."Anhaben der Zeitplanungspriorität" verfügt. Standardmäßig haben diese Berechtigung Mitglieder Gruppe Administratoren und Hauptbenutzer.
Seite 15:
In der Tabelle würde ich den Normalfall (Normal / Normal. Priorität 8 ) noch herausheben.

Seite 17, Kontext:
Zitat:

In Folge eines Tastendrucks, welcher dazu führt, dass eine WM_KEYDOWN Nachricht in die 'Warteschlange eingereiht wird.
Der Satz hört imho ein wenig zu unvermittelt auf.

Zitat:

Da diese dynamische Anwendung kann zu (...) führen.
Auf Seite 18 gehört der Hinweis mit dem Problemen beim starten aus der IDE imho nicht in das Tut, sondern gelöst ;-)

Seite 22, oben:
Im Code auf Seite 21 heisst der Datentyp RTL_CRITICAL_SECTION, im Text wird auf Seite 22 nur CRITICAL_SECTION genannt. Was ist nun richtig?

Seite 23:
Zitat:

... da es nutzlos ist in diesem Fall einen SpinLockzähler zusetzten:
Seite 24:
Das Stichwortverzeichnis hat eine Gliederungsebene zu viel (nie mehr als 2, lernt man recht früh wenn man professionelle Dokus macht). Zudem sind die Gliederungsebenen ungleichmäsig eingerückt.

Selbst wenn Du auf 3 Ebenen bestehst (die machen imho nur wenig Sinn) sollte jede Ebene auf der ganzen Seite gleich weit eingezogen sein. Vor allem unter Synchronisation fällt das extrem auf und macht den Index unübersichtlich und somit unnütz. (Sorry, ich beschäftige mich gerade mit dem Layout professioneller technischer Dokumentationen ;-) ).

Aber das wars dann auch von mir. Hab ne Menge draus gelernt :)

Luckie 22. Sep 2003 14:01

Re: Thread Programmierung unter Windows mit Delphi
 
Puh, danke, dann werde ich mich gleich mal ransetzten und die Fehler ausbügeln.

Was das Demo angeht: Na dann mach mal. Es hat schon mal aus der IDE funktioniert.

Luckie 3. Nov 2003 07:43

Re: Thread Programmierung unter Windows mit Delphi
 
So, ich darf euch eine überarbeitet Fassung meines Threading Tutorials präsentieren. Es wurde grundlegend überarbeitet und ergänzt mit ein paar Worten zum dem VCL Thread-Objekt.

aus dem Inhalt:
– Grundlagen der Thread Programmierung
– Thread-Ablaufsteuerung
– Thread-Prioritäten
– Thread-Synchronisation
– Das Thread Objekt der VCL

Demos:
- CriticalSection
- InterLockedExchangeAdd
- Priority
- SpinLock
- ThreadTimes
- TThreadObject

Es ist jetzt insgesamt 33 Seiten stark.

Hier die Links:
Thread Tutorial Hauptseite
Download des Tutorials (PDF mit Demos / 393 KB)
Tutorial (PDF / 371 KB) zum online lesen.

Luckie 30. Sep 2004 01:23

Re: Thread Programmierung unter Windows mit Delphi
 
Ich habe das Threading Tutorial für Delphi erweitert und überarbeitet.

Es umfasst nun mehr 45 Seiten und 9 Demos (VCL, nonVCL, Konsole) zu den Kapiteln. Aus dem Inhalt:
  • Grundlagen der Thread Programmierung (BeginThread, ...)
  • Thread-Ablaufsteuerung (ResumeThread, SuspendThread)
  • Thread-Prioritäten (SetPriorityClass, SetThreadPriority, ...)
  • Thread-Synchronisation (CriticalSections, InterLockedExchangeXXX, ...)
  • Thread-Synchronisation mit Kernelobjekten (neu in 2.2) (WaitForXXX, CreateEvent, SetEvent)
  • Das Thread Objekt der VCL

Downloadlink: http://tutorials.luckie-online.de

Fragen, Anregungen und Probleme könne entweder hier oder in meinem Support-Forum gestellt werden.

PRehders 30. Sep 2004 08:33

Re: Thread Programmierung unter Windows mit Delphi
 
Hallo Michael,

ein wirklich schönes Tutorial! Da kann ich wirklich einiges an Honig für mein Projekt draus ziehen! :thumb:
Ich habe im Thread gelesen, dass du auch möglichst alle Vertipper genannt haben möchtest.. ;-)
leider würde sich mein Post dann hier ziemlich in die Länge ziehen, daher ein Vorschlag: Wenn du mir eine Word-/RTF- oder andere bearbeitbare Version zur Verfügung stellst, korrigiere ich sie kurz durch und sende sie zurück. Ist glaube ich einfacher für alle Beteiligten;
es sein denn, die anderen möchten die Korrekturen auch alle "in situ" sehen...

Bei Interesse einfach melden.

Grüße aus Hamburg.

Peter

Luckie 30. Sep 2004 12:57

Re: Thread Programmierung unter Windows mit Delphi
 
Ui. So viele Vertipper? Ich könnte es höchstens als OpenOffice Dokumnet zur Verfügung stellen.

PRehders 30. Sep 2004 14:14

Re: Thread Programmierung unter Windows mit Delphi
 
Hallo Michael,

kein Problem, ich mache das aus dem PDF per Cut&Paste und erzeuge kurz ein Word-Dokument mit Markierungen etc. Ich schicke es Dir morgen im Laufe des Vormittags zu.

Bis dann
Peter

P.S.: Du möchtest das Dokument ja vielleicht mal irgendwo vorzeigen, wo es drauf ankommt; daher gehe ich da mal etwas pingeliger ran. Also nicht ... :evil:

Luckie 30. Sep 2004 14:17

Re: Thread Programmierung unter Windows mit Delphi
 
Besten Dank. :thumb:

Soll ich dich als Lektor erwähnen? Würde ich gerne machen und dazu deine Homepage verlinken, so fern vorhanden und erwünscht.

Memo 30. Sep 2004 21:58

Re: Thread Programmierung unter Windows mit Delphi
 
Das TThreadObject-Demo verursacht eine Schutzverletzung in Unit1:
Code:
if ThreadArray[Listview1.Selected.Index].Suspended then
Ich habe aber nicht nach dem Fehler gesucht. 8)

Luckie 1. Okt 2004 13:03

Re: Thread Programmierung unter Windows mit Delphi
 
Bei mir nicht. Windows2000, Delphi 6 Personal.

Memo 1. Okt 2004 13:11

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Luckie
Bei mir nicht. Windows2000, Delphi 6 Personal.

Ich hatte die Option: "Bei Delphi Exceptions stoppen" eingeschaltet.

Luckie 1. Okt 2004 13:32

Re: Thread Programmierung unter Windows mit Delphi
 
Ist bei mir auch aktiviert.

Memo 1. Okt 2004 13:37

Re: Thread Programmierung unter Windows mit Delphi
 
Zitat:

Zitat von Luckie
Ist bei mir auch aktiviert.

Deaktiviert läufts. Aktiviert gibt es eine EAccessViolatio.
D7 Enterp. XP

Luckie 29. Okt 2005 07:26

Re: Thread Programmierung unter Windows mit Delphi
 
Es gibt eine neue Version des PDF dieses Tutorials. Dank OpenOffice 2.0 jetzt mit Lesezeichen für die Kapitel. Alles weiter im ersten Posting: http://www.delphipraxis.net/internal...?p=73685#73685

Sangoku 20. Feb 2007 14:01

Re: Thread Programmierung unter Windows mit Delphi
 
Hallo Luckie,

ist dein Tutorial heute noch verfügbar? Die Links sind nicht mehr zu erreichen und ich könnte es gerade echt gut gebrauchen.

Thx

CK_CK 20. Feb 2007 14:07

Re: Thread Programmierung unter Windows mit Delphi
 
Bin zwar nicht Luckie, aber trotzdem ;):

[HIER] ist die neue Adresse...


Chris

mdx 29. Mai 2011 14:47

AW: Thread Programmierung unter Windows mit Delphi
 
Falls jemand die neue Adresse sucht:

http://michael-puff.de/Programmierun...mit_Delphi.pdf


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