(*--- Das folgende Programm führt die Umkehrung des Programms ein, wenn wir Threads und ohne Threads verwenden.
Antwort. Beim Klicken auf die Schaltfläche "Gebraucht" wird zu diesem Zeitpunkt ein Thread erstellt.
Wenn Sie die Größe der Form ändern und sie bewegen. Wenn die Taste von Noused thread gedrückt wird, senden wir, wenn der Thread nicht erstellt wird, senden
Jetzt können Sie nichts anderes tun, bevor das Programm berechnet wird!
Einheit Einheit1;
Schnittstelle
Verwendung
Fenster, Nachrichten, Systeme, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, stdctrls, Schaltflächen;
Typ
Tform1 = Klasse (tform)
Gebrauchte Thread: tbitBtn;
Noused thread: tbitbtn;
Verfahren verwendet ThreadClick (Absender: Tobject);
Verfahren Noused threadClick (Absender: Tobject);
Privat
{Private Deklarationen}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1: tform1;
Durchführung
{$ R *.dfm}
Funktion mytheadfunc (p: Zeiger): longint; stdcall;
var
I: longint;
DC: HDC;
S: String;
Beginnen
DC: = getdc (Form1.Handle);
für i: = 0 bis 500000 beginnen
S: = inttostr (i);
Textout (DC, 10,10, pchar (s), Länge (s));
Ende;
LoVedC (Form1.Handle, DC);
Ende;
procedure tform1.usedthreadclick (Absender: tobject);
var
HThread: Thandle; // einen Griff definieren
ThreadID: DWORD;
Beginnen
// Erstellen Sie einen Thread, und die Thread -Funktion wird gleichzeitig aufgerufen
hthread: = createThead (nil, 0,@mythreadfunc, nil, 0, threadId);
Wenn HThread = 0 dann
MessageBox (Handle, nicht creatheatread ', nil, mb_ok);
Ende;
procedure tform1.noused threadclick (Absender: tobject);
Beginnen
MyThreadfunc (NIL);
// Wenn kein Thread erstellt wird, wird die Thread -Funktion direkt aufgerufen
Ende;
Ende.