![]() |
Delphi-Version: 7
HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag.
Ich habe in meinem Informatik Kurs eine Aufgabe bekommen, in der ich einen HyperButton erstellen soll. Der Theoretische Teil den ich mir bisher zusammengestellt habe ist: Panel erzeugen, dem dann die fähigkeiten des Buttons vererben und erweitern. (Ich hoffe das ist auch Richtig..) Mein Problem ist jetzt eher der Praktische Teil, da ich andauernd Fehlermeldungen bekomme, wie z.B bei diesen Zeilen:
Code:
Dazu kommen diese Fehlermeldungen:
BEGIN
inherited Create{(AOwner)}; THyperPanel.Width := 100; THyperPanel.Height := 100; THyperPanel.Color:= clred; end;
Code:
[Fehler]
[Fehler] Unit2.pas(17): Undefinierter Bezeichner: 'Width'
[Fehler] Unit2.pas(18): Undefinierter Bezeichner: 'Height' [Fehler] Unit2.pas(19): Undefinierter Bezeichner: 'Color' Ich füge noch den Ordner als Anhang an (Falls das hilft) und hoffe auf schnelle antwort. MfG Flashco. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Du schreibst
Delphi-Quellcode:
.
THyperPanel.Width
THyperPanel ist eine Klasse und hat nunmal keine Klasseneigenschaft "Width". Aber da du die Eigenschaften ja erbst, kannst du lieber gleich einfach
Delphi-Quellcode:
oder
Width := ...;
Delphi-Quellcode:
schreiben - dann läuft's auch ;)
Self.Width := ...;
THyperPanel ist ja nur die Klasse, und wenn du einfach
Delphi-Quellcode:
schreibst, weiß der Compiler doch nicht, welches HyperPanel du meinst. Das, das gerade erstellt wird? Dann musst du das auch so schreiben, könnte etwa
THyperPanel.Width
Delphi-Quellcode:
oder
THyperPanel(self).Width
Delphi-Quellcode:
aussehen. Und nunja, der Cast ist hier ziemlich redundant, also am besten gleich einfach
(self as THyperPanel).Width
Delphi-Quellcode:
oder
Self.Width
Delphi-Quellcode:
.
Width
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Zunächst einmal: Danke für die schnelle Antwort.
Jedoch: Ich habe jetzt in den entsprechenden Zeilen versucht "THyperPanel" durch "self" zu ersetzten, jedoch kommt immernoch die selbe Fehlermeldung. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Delphi-Quellcode:
type
THyperPanel = class ( TPanel) public constructor Create(AOwner:TComponent);override; procedure HyperPanelClick; end; implementation constructor THyperPanel.Create(AOwner: TComponent); BEGIN inherited Create(AOwner); Width := 100; Height := 100; Color:= clred; BorderStyle:= bsSingle; // BevelWidth:=3; end; |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
@mkinzler
Bei diesem Lösungsvorschlag bekomme ich die bereits vorhandenen Fehlermeldungen: [Fehler] Unit2.pas(17): Undefinierter Bezeichner: 'Width' (usw) UND dazu noch die Meldungen:
Code:
[Fehler] Unit2.pas(6): Undefinierter Bezeichner: 'TPanel'
[Fehler] Unit2.pas(8): Undefinierter Bezeichner: 'TComponent' [Fehler] Unit2.pas(16): Zu viele Parameter |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Ergänze die Uses um ExtCtrls
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Dann fehlt wohl mindestens ExtCtrls in der uses-Klausel.
[edit] Classes anscheinend auch, sonst wäre zumindest TComponent bekannt. [/edit] |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Um Sicherzugehen:
Meint ihr die Uses in Unit1? Falls ja: Stehen bereits drin. Falls nein: Soll ich "Uses" in Unit 2 hinzufügen? [edit] Durch Testen hat sich DIE Frage geklärt, ich musste eine Uses List in Unit2 einfügen. Dies löst die Probleme zunächst bis Height. Schonmal riesiegen dank dafür. Als nächstes scheint jeodch auch "clRed" sowie "bsSingle" (Für bsSingle bräuchte ich vieleicht auch eine kleine erklärung was dieses genau macht bzw BorderStyle ansich, da ich dies (Auf gut Glück) aus der Aufgabe heraus kopiert habe obwohl ich nicht weiß was es macht(Ebenso das zur Zeit ausgeklammerte BevelWidth: = 3 ; ) ) ein undefinierter Bezeichner zu sein. |
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
Woher sollen wir denn wissen, was in Unit1 bzw Unit2 steht/deklariert wurde?
|
AW: HyperButtons bzw HyperPanels erstellen (Delphi Anfänger)
In der Unit, in der der Fehler auftritt: Unit2
@Detlef: Der Source ist im 1. Beitrag angehängt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 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 by Thomas Breitkreuz