![]() |
BeginThread - Methoden aufruf
Hi,
ich möchte eine Procedure mit BeginThread aufrufen, habe aber noch Probleme.
Delphi-Quellcode:
Jedoch sagt er mr immer "Variable erforderlich" nach
MyClass:= TMyClass.Create; // Klasse erstellt.
FThreadHandle := BeginThread(nil, 0, @MyClass.Scan(o), Pointer(Self), 0, ThreadID); // Aufruf
Delphi-Quellcode:
@MyClass.Scan(o)
|
AW: BeginThread
Gibt denn MyClass.Scan(o) einen Funktionszeiger zurück?
BeginThread erwartet dort nämlich eine "einfache Funktion", keine Methode.
Delphi-Quellcode:
function ThreadFunc(Parameter: Pointer): Integer;
|
AW: BeginThread
Ah, das war eine Metode, es funktionieren aber nur Functionen?
Aber selbst bei einer funktion, erhalte ich diesen Fehler.
Delphi-Quellcode:
function TMyClass.Scan(Kat: Integer): Integer;
|
AW: BeginThread
Könntest du deinem Thema bitte einen aussagekräftigeren Titel geben? Danke :)
|
AW: BeginThread
Keine Methode (Function/Procedure einer Klasse) benutzen, sondern:
Delphi-Quellcode:
function Blub(Parameter: Pointer): integer;
begin // ... end; // Aufruf BeginThread(nil, 0, Blub, nil, 0, ThreadID); |
AW: BeginThread
Ok nun verstehe ich es.
Was ist denn die beste Möglichkeit eine Procedure einer Klasse als Thread auf zu rufen? 1. Klasse ist schon created 2. es muss nur eine bestimmte Procedure der klasse abgearbeitet werden im Thread. |
AW: BeginThread - Methoden aufruf
Wenn mich nicht alles täuscht muss man doch auf die function zeigen?? also
Delphi-Quellcode:
oder nicht??
function Blub(Parameter: Pointer): integer;
begin // ... end; // Aufruf BeginThread(nil, 0, [COLOR="Red"]@[/COLOR]Blub, nil, 0, ThreadID); |
AW: BeginThread - Methoden aufruf
|
AW: BeginThread - Methoden aufruf
lbccaleb, geht beides.
So mit einer Methode:
Delphi-Quellcode:
Ob das so aber vernünftig ist, weiß ich nicht.
TClass = class
public class procedure Blub(Param: Pointer); static; end; // Aufruf: with TClass.Create do BeginThread(nil, 0, @Blub, nil, 0, ThreadID); Add: SirThornberry und himitsu erklären das im oben genannten Thread wunderprächtig. Ob nun eine function oder procedure übergeben wird, ist im Endeffekt egal. |
AW: BeginThread - Methoden aufruf
Hm, dann habe ich dieses Problem
Instanzenelement 'FslKat' in diesem Zusammenhang nicht verfügbar //FslKat ist eine StringList aus der Klasse im privat Bereich |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz