![]() |
Eigene Klasse bauen
Hi,
ich habe versucht eine neue Klasse zu erstellen. Ich möchte eigentlich nichts anderes machen als ein TScrollbox zu erstellen, gleich ein paar Eigenschaften verändern und später dann weitere Elemente auf das Objekt legen. Jetzt scheitere ich jedoch schon beim erstellen der Klasse. Erstmal der Code: Unit ElementList.pas:
Delphi-Quellcode:
Jetzt wollte ich das ganze testen und habe die Unit in einem Delphi-Projekt eingebunden und versuche nun bei einem ButtonClick folgendes zu machen:
unit ElementList;
interface uses ExtCtrls, pngimage, graphics, SysUtils, Classes, forms, controls; type TElementList = class(TScrollBox) procedure Create; end; implementation procedure TElementList.Create; begin BevelInner := bvNone; BevelKind := bkFlat; BevelOuter := bvLowered; BorderStyle := bsNone; end; end.
Delphi-Quellcode:
Doch meldet mir der Compiler "[Pascal Fehler] Unit1.pas(32): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt". Was muss ich ändern? Wo liegt mein Fehler?
procedure TForm1.Button1Click(Sender: TObject);
var ellst: TElementList; begin ellst := TElementList.Create; //Compiler markiert diese Zeile, siehe Fehler unten im Post with ellst do begin Parent := Form1; Left := 0; Top := 0; Height := 100; Width := 300; visible := true; end; end; Schonmal Danke :-) |
Re: Eigene Klasse bauen
du musst create statt als procedure als constructor deklarieren.
|
Re: Eigene Klasse bauen
Zitat:
|
Re: Eigene Klasse bauen
Hi,
erst mal nur den Code:
Delphi-Quellcode:
Aufruf:
type
TElementList = class(TScrollBox) public constructor Create(AOwner: TComponent); override; end; implementation constructor TElementList.Create(AOwner: TComponent); begin inherited Create(AOwner); BevelInner := bvNone; BevelKind := bkFlat; BevelOuter := bvLowered; BorderStyle := bsNone; end;
Delphi-Quellcode:
Cu, Frank
ellst := TElementList.Create(Self);
|
Re: Eigene Klasse bauen
Klasse die Klasse funktioniert. Oder mit anderen Worten: Vielen Dank :mrgreen:
|
Re: Eigene Klasse bauen
Was müsste ich jetzt eiegtnlich verändern wenn ich die Klasse als Komponente in Design- und RunTime verwenden möchte? Reicht ein einfaches
Delphi-Quellcode:
?
RegisterComponents()
|
Re: Eigene Klasse bauen
Erstelle bitte für eine neue Frage ein neues Thema :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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