![]() |
Frage zu Type
hi,
wenn man ein neues programm startet hat man doch folgendes mit im source:
Delphi-Quellcode:
type
TForm1 = class(TForm) Edit1: TEdit; private { Private-Deklarationen } public { Public-Deklarationen } end; Frage1 dazu: worauf bezieht sich das "end;" Frage2 dazu: wieso ist Edit1 mit im Typ teil? muss ein neuer typ nicht mit = statt : zugewisen werden? |
Re: Frage zu Type
Hi!
zu 1.: Das End; bezieht sich auf das "type" zu 2.: Edit1 ist eine Variable vom Typ TEdit. (Der neue Typ ist das Formular (TForm1), dass von der Basisklasse TForm abgeleitet ist!) mfG mirage228 |
Re: Frage zu Type
Das "end" bezieht sich auf "TForm1 = class(TForm)" - Irgendwie muss ja der Compiler wissen wo die Klassendefinition (oder isses die Klassendeklaration?) aufhört
|
Re: Frage zu Type
wenn ich eigene typen definiere haben die nie ein "end;", wieso dieses?
EDIT: achja, und ist es also möglich (wäre wohl unnütz), private und public in jeder type anweisung mit reinzubringen? |
Re: Frage zu Type
wenn du zum Beispiel
Delphi-Quellcode:
einen Type definierst kommt kein end weil hier das ";" verwendet wird.
TmyType = (mtMeins, mtDeins);
Eigentlich sollte man seine Elemente immer in Private, Public, Published oder Protected definieren. Oberhalb (also außerhalb dieser Bereiche) sind eigentlich nur Elemente aufgeführt die über die Delphi-IDE hinzugefügt wurden, vermutlich zu besseren Umsetzung der Visuellen Darstellung in der IDE. Du kannst ja mal versuchen das Edit was dort automatisch plaziert wurde in den Privateteil zu verschieben, dann dürfte es zu Problemen in der IDE kommen. Oder es wird dort oben einfach zur besseren übersicht definiert damit nicht in den selbst deklarierten privat-, und public-part der ganze ide-müll mit drin steht |
Re: Frage zu Type
hoi,
wenn ich es (das edit) in private/public packe kriege ich ne AV: EClassNotFound. wieso kennt der dann den typ TEdit nicht? |
Re: Frage zu Type
Wenn du zum Beispiel ein TEdit auf deinem Formular plazierst wird in der .dfm datei die Position und die ganzen anderen einstellungen die du über den Objectinspektor machst gespeichert. Wenn du dann das TEdit in den Public, Private..-teil verfrachtest findet die IDE das TEdit nicht mehr weil es ja nicht mehr außerhalb von private, public etc. ist. Und somit kommt es zu einer AV wenn die eintellungen wie left, right, height etc. dem Edit zugewiesen werden sollen das nicht mehr vorhanden ist (zumindest nicht mehr dort vorhanden wo die ide danach sucht)
|
Re: Frage zu Type
danke :]
|
Re: Frage zu Type
Edit1 ist eine (Objekt-)Variable vom Typ TEdit. Genau wie:
Delphi-Quellcode:
sl hier eine Variable vom Typ TStringlist ist.
procedure Foo;
var sl: TStringList; begin end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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