Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Klasse wird nicht erkannt nach einbinden der Unit? (https://www.delphipraxis.net/135094-klasse-wird-nicht-erkannt-nach-einbinden-der-unit.html)

SimStar001 4. Jun 2009 17:17


Klasse wird nicht erkannt nach einbinden der Unit?
 
Hallo,

ich habe mit einer meiner Klassen ein Problem.
Und zwar binde ich die Klasse wie alle anderen Klassen die ich erstellt habe über uses Klausel der Main unit ein.

Danach will ich eine Variable vom Typ meiner Klasse definieren und der Compiler sagt mir jedesmal: Unbekannter Typ?


Wieso ist das so? Ist nur bei der Klasse so...

mkinzler 4. Jun 2009 17:18

Re: Klasse wird nicht erkannt nach einbinden der Unit?
 
Zeig mal etwas Code?
BTW der Compiler oder die IDE (letztere macht das gern einmal)?

SimStar001 4. Jun 2009 17:39

Re: Klasse wird nicht erkannt nach einbinden der Unit?
 
Hier meine Klasse :

Delphi-Quellcode:
unit LivetrackWorkerThreadJob;

interface

uses Livetrack, csWorkerThreadPool;

implementation

type TLivetrackWorkerThreadJob = class(TWorkerThreadJob)
    private
     fName : string;
     fATC : string;
     fTool : string;
     //fVID : string;
     fLivetrack : TLivetrack;

    protected
     procedure Execute(AThread : TWorkerThread); override;

    public
     constructor create(Livetrack : TLivetrack; Name : string; ATC : string; Tool : string);
    end;


constructor TLivetrackWorkerThreadJob.create(Livetrack : TLivetrack; Name : string; ATC : string; Tool : string);
begin
  inherited create;

  self.fLivetrack := TLivetrack.Create;
  self.fLivetrack := Livetrack;
  self.fName := Name;
  self.fATC := ATC;
  self.fTool := Tool;

end;

procedure TLivetrackWorkerThreadJob.Execute(AThread : TWorkerThread);
begin
  self.fLivetrack.download(5000);
  self.fLivetrack.refresh(self.fName,self.fATC,self.fTool);

  self.fLivetrack.ConnectFTP(5000);
  self.fLivetrack.upload;
  self.fLivetrack.UploadInfoDaten;
  self.fLivetrack.DisconnectFTP;
end;

end.

und so der Aufruf in meinem Programm:

Delphi-Quellcode:
var Test : TLivetrackWorkerThreadJob;

Wenn ich allerdings die komplette Klasse so wie sie ist in die Main Unit kopiere dann gehts!!! Ich versteh des net!

mkinzler 4. Jun 2009 17:40

Re: Klasse wird nicht erkannt nach einbinden der Unit?
 
Du musst den Typ im Interface deklarieren, das er aus anderen Units sichtbar ist.

SimStar001 4. Jun 2009 17:44

Re: Klasse wird nicht erkannt nach einbinden der Unit?
 
Danke, zu doof mal wieder der Fehler!


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