Hu,
ich habe 1 HauptThread, 1 Nebenthread und 1 Klasse die im Hauptthread erstellt wird.
Nur wie kann ich meinem Nebenthread die im Hauptthread erstellte klasse mit verwenden?
Hauptthread
Delphi-Quellcode:
type
TMainThread = class(TThread)
private
NebenThread: TNebenthread;
protected
procedure Execute; override;
public
Klasse : TKlasse;
constructor Create;
end;
Nebenthread
Delphi-Quellcode:
type
TNebenthread = class(TThread)
private
protected
procedure Execute; override;
public
constructor Create;
end;
Klasse
Delphi-Quellcode:
type
TKlasse = class
private
Fsl: TStringList;
public
property sl: TStringList read Fsl;
procedure Test;
destructor Free;
constructor Create;
end;
Hauptthread
Delphi-Quellcode:
Adressennet := TAdressennet.Create;
Nebenthread := TNebenthread.Create;
Nebenthread.Start;
NebenThread --> Delphi Tag gesetzt aber nimmt er wohl nicht
MainThread.Klasse.Test;
Klasse Procedure Test --> Delphi Tag gesetzt aber nimmt er wohl nicht
Fsl[0] := '132'; <<< Exception Zugriffsverletzung
Ich hoffe man kann die Struktur erkennen?
Mir geht es darum, das ich viele kleine Nebenthreads produzieren möchte die eine Aufgabe verarbeiten im Hauptthread.
Oder sollte man das doch lieber komplett splitten und lieber Mehrere Hauptthreads erstellen?