Hallo,
der Titel klingt etwas komisch...konnte ich nicht besser formulieren...
Mein Problem ist, dass ich in einem Thread auf Komponenten eines Frames zugreifen möchte, ich aber den Fehler "Undefinierter Bezeichner" bekomme, also so, als wenn ich vergessen hätte, die entsprechende
Unit in due uses-Klausel in der "Thread-Objekt-
Unit" zu packen...
Hier mal der Code:
UfrmCopyFromCDThreads.pas (das Thread-Objekt)
Delphi-Quellcode:
unit UfrmCopyFromCDThreads;
interface
uses
Classes;
type
TtrdRefreshDrives =
class(TThread)
private
protected
procedure addItemToList(text:
String);
procedure clearList;
procedure Execute;
override;
end;
implementation
uses UfrmCopyFromCD;
procedure TtrdRefreshDrives.clearList;
begin
frmCopyFromCD.cbxDrives.Items.Clear;
end;
procedure TtrdRefreshDrives.addItemToList(text:
String);
begin
frmCopyFromCD.cbxDrives.Items.Add(text);
end;
procedure TtrdRefreshDrives.Execute;
begin
Synchronize(clearList);
end;
end.
UfrmCopyFromCD.pas (der Frame mit den Komponenten):
Delphi-Quellcode:
unit UfrmCopyFromCD;
interface
uses // [...] (nicht wichtig)
type
TfrmCopyFromCD =
class(TFrame)
cbxDrives: TJvComboBox;
private
{ Private-Deklarationen }
procedure refreshDrives();
public
{ Public-Deklarationen }
procedure Prepare();
end;
implementation
// [...] (nicht wichtig)
end.
Der Name des Frames ist "frmCopyFromCD" ...
Warum also kann ich von UfrmCopyFromCDThreads.pas anscheinend nicht auf UfrmCopyFromCD.pas zugreifen, trotz Einbidnung?
Wäre dankbar, wenn irgendwer meinen Fehler entdecken würde
Johannes