Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nicht (https://www.delphipraxis.net/153257-verwendung-der-variablen-handle-aus-unit-controls-klasse-funktioniert-nicht.html)

DeddyH 3. Aug 2010 16:48

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Nochmal: wovon ist Deine Klasse abgeleitet?

FriendOfDelphi 3. Aug 2010 16:57

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Zitat:

Zitat von DeddyH (Beitrag 1039257)
Wovon ist denn Deine Klasse abgeleitet?

Vielleicht ist das der Fehler!?
Ich habe das so gemacht:
Delphi-Quellcode:
TKlassenName = class(TObject)
.

DeddyH 3. Aug 2010 17:02

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Nicht TObject, sondern TWinControl, dann hast Du auch ein Handle.

FriendOfDelphi 5. Aug 2010 10:52

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Zitat:

Zitat von DeddyH (Beitrag 1039298)
Nicht TObject, sondern TWinControl, dann hast Du auch ein Handle.

Ja, dass war der entscheidende Hinweis.
Das Handle ist nun bekannt.

Ich erhalte dann folgende Fehlermeldung vom Compiler: "Nicht genügend wirkliche Parameter" für die Zeile mit dem
Delphi-Quellcode:
inherited Create;
.
Da meine Klasse nun eine Erweiterung der TWinControl-Klasse, bzw. von dieser abgeleitet ist, muss hier die Create-Methode von TWinControl verwendet werden. Richtig?
Die ist so deklariert:
Delphi-Quellcode:
constructor Create : procedure(AOwner: TComponent)
.

Welchen Parameter muss ich denn in die Klammern des Create schreiben?

DeddyH 5. Aug 2010 10:57

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Was macht denn das "procedure" da? Normalerweise sieht das so aus:
Delphi-Quellcode:
type
  TBlubb = class(TwinControl)
  ...
  public
    constructor Create(AOwner: TComponent); override;

FriendOfDelphi 5. Aug 2010 11:20

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Zitat:

Zitat von DeddyH (Beitrag 1039725)
Was macht denn das "procedure" da? Normalerweise sieht das so aus:
Delphi-Quellcode:
type
  TBlubb = class(TwinControl)
  ...
  public
    constructor Create(AOwner: TComponent); override;

Nein, nein, dass habe nachgeguckt, indem ich
Delphi-Quellcode:
TWinControl.
in der IDE eingegeben habe. Der Compiler macht ja dann Vorschläge, welche Methoden es in TWinControl gibt. Und für Create hat er eben die Deklaration
Delphi-Quellcode:
constructor Create : procedure(AOwner: TComponent)
genannt.

Ich habe das so gemacht:
Delphi-Quellcode:
[...]
TBlubb = class(TWinControl)
[...]
  public
    constructor Create;
[...]
constructor TSoftSPS.Create;
var
  i, j: integer;
begin
  inherited Create;
[...]
Und da meldet der Compiler dann in der Zeile mit dem
Delphi-Quellcode:
inherited Create;
: "Nicht genügend wirkliche Parameter".

DeddyH 5. Aug 2010 12:20

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Mach es doch einfach mal so, wie ich es geschrieben hatte.

FriendOfDelphi 5. Aug 2010 12:46

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Zitat:

Zitat von DeddyH (Beitrag 1039747)
Mach es doch einfach mal so, wie ich es geschrieben hatte.

Das habe ich ja gemacht:
Delphi-Quellcode:
[...]
TBlubb = class(TWinControl)
[...]
  public
    constructor Create(AOwner: TComponent); override;
[...]
constructor TBlubb.Create;
var
  i, j: integer;
begin
  inherited Create;
[...]
Der Fehler ist jedoch gleich geblieben: "Nicht genügend wirkliche Parameter" für die Zeile mit dem
Delphi-Quellcode:
inherited Create;
. Da dem Create etwas übergeben werden muss. Ich weiss aber nicht was.
Grundsätzlich sollte das ja der Konstruktor meiner eigenen Klasse sein, dem ich gar nichts übergeben will.

DeddyH 5. Aug 2010 12:49

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Delphi-Quellcode:
constructor TBlubb.Create(AOwner: TComponent);
var
  i, j: integer;
begin
  inherited Create(AOwner);
  //oder alternativ, da gleiche Parameter
  inherited;

FriendOfDelphi 5. Aug 2010 13:13

AW: Verwendung der Variablen "Handle" aus Unit "Controls" in Klasse funktioniert nich
 
Zitat:

Zitat von DeddyH (Beitrag 1039757)
Delphi-Quellcode:
constructor TBlubb.Create(AOwner: TComponent);
var
  i, j: integer;
begin
  inherited Create(AOwner);
  //oder alternativ, da gleiche Parameter
  inherited;

Ja, so funktioniert das.
Kannst Du mir bitte noch ein bisschen was dazu sagen warum man das so machen muss?
Oder einen Link senden, wo zu der Thematik etwas steht?
Vielen Dank für Deine Hilfe :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.
Seite 2 von 3     12 3      

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