Classes Stammbaum
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Classes Stammbaum
Kann man irgendwo auflisten lassen, wo man sieht, wie eine Classe vererbt ist ?
ZB: TLabel > TCustomLabel > TGraphicControll > TControll > ... > TObject.
ZB: TLabel > TCustomLabel > TGraphicControll > TControll > ... > TObject.
Zuletzt geändert von Mathias am Fr 8. Mai 2020, 23:12, insgesamt 2-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Classen Stambaum
Wenn du auf TLabel im Quelltext (nicht auf dem Label im Formular-Editor) die Hilfetaste drückst (F1, bzw. Ctrl-F1 beim klassichen Tastaturlayout), dann siehst du die Abstammung, wenn du im LHelp-Bildschirm nach unten scrollst:
- Dateianhänge
-
- lhelp-tlabel.jpg (139.61 KiB) 3503 mal betrachtet
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Classen Stambaum
Danke, das hatte ich gesucht.
Noch eine Frage, muss ich bei der Trunk noch eine Package installieren ?
Bei mir geht es nur mit der Stable von Lazarus
Noch eine Frage, muss ich bei der Trunk noch eine Package installieren ?
Bei mir geht es nur mit der Stable von Lazarus
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Classen Stambaum
Die Hilfe mus instaliert sein. Bei fpcupdeluxe ist das im normalfall abgschaltet, weil es nur viel Daten und Zeit benötigt. Kann man im Setup+ umschalten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 118
- Registriert: Do 20. Jul 2017, 23:47
- OS, Lazarus, FPC: Win7 und Win10
- CPU-Target: xxBit
- Wohnort: Südheide (Schnuckenland)
Re: Classen Stambaum
Bei mir fehlten die chm-Dateien. Ich habe diese dann als zip von
https://sourceforge.net/projects/lazaru ... mentation/
wie in
https://wiki.freepascal.org/Installing_Help_in_the_IDE
heruntergeladen und entzippt nach
c:\lazarus_2.0.6\lazarus\docs\chm\
geschoben. Anschließend funktionierte der Tip von wp_xyz problemlos.
(Zur Info: Ich hatte das Lazarus auch mit fpcdelux installiert)
https://sourceforge.net/projects/lazaru ... mentation/
wie in
https://wiki.freepascal.org/Installing_Help_in_the_IDE
heruntergeladen und entzippt nach
c:\lazarus_2.0.6\lazarus\docs\chm\
geschoben. Anschließend funktionierte der Tip von wp_xyz problemlos.
(Zur Info: Ich hatte das Lazarus auch mit fpcdelux installiert)
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Classen Stambaum
Wie sieht es mit Classen aus, welche man selbst gebaut hat, kann man da auch irgendwo den Stammbaum holen ?wp_xyz hat geschrieben: Do 7. Mai 2020, 16:15 Wenn du auf TLabel im Quelltext (nicht auf dem Label im Formular-Editor) die Hilfetaste drückst (F1, bzw. Ctrl-F1 beim klassichen Tastaturlayout), dann siehst du die Abstammung, wenn du im LHelp-Bildschirm nach unten scrollst:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Classen Stambaum
Hi!
Auch in einer unordentlichen Festplatte findet sich nach einigem Suchen Alles wieder:
Anbei die Klassenhierarchie von RTL und LCL - etwas älter. Ist aus dem Jahr 2013 und ich hab die PDF von der fpc/Lazarus-Seite runterladen.
Etwas sperrig - gerne für größere Bildschirme.
Winni
Auch in einer unordentlichen Festplatte findet sich nach einigem Suchen Alles wieder:
Anbei die Klassenhierarchie von RTL und LCL - etwas älter. Ist aus dem Jahr 2013 und ich hab die PDF von der fpc/Lazarus-Seite runterladen.
Etwas sperrig - gerne für größere Bildschirme.
Winni
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Classen Stambaum
Da kannst du dir fix selber was schreiben:Mathias hat geschrieben: Do 7. Mai 2020, 18:00 Wie sieht es mit Classen aus, welche man selbst gebaut hat, kann man da auch irgendwo den Stammbaum holen ?
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var
o: TClass;
begin
o := TMemo;
Edit1.Text := o.ClassName;
o := o.ClassParent;
while Assigned(o) do begin
Edit1.Text := Edit1.Text + ' -> ' + o.ClassName;
o := o.ClassParent;
end;
end;
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Classen Stambaum
Oder, um etwas mit dem wenig beklannten LvlGraphControl von der LazControls-Palette zu üben, kann man sich, z.B. für Dokumentationszwecke selbst mit ein paar Zeilen Code einen Klassenhierarchie-Baum zeichnen lassen.
Achtung: In dem Progrämmchen werden die Paletten-Icons von Lazarus verwendet. Damit diese gefunden werden muss die Konstante "ImageDir", gleich zu Beginn des Implementation-Abschnitts angepasst werden.
Ein Tutorial über LvlGraphControl findet man auf http://www.pp4s.co.uk/main/tu-form-level-graph.html.
Achtung: In dem Progrämmchen werden die Paletten-Icons von Lazarus verwendet. Damit diese gefunden werden muss die Konstante "ImageDir", gleich zu Beginn des Implementation-Abschnitts angepasst werden.
Ein Tutorial über LvlGraphControl findet man auf http://www.pp4s.co.uk/main/tu-form-level-graph.html.
- Dateianhänge
-
class_tree.zip
- (3.4 KiB) 144-mal heruntergeladen
-
- ClassHierarchy.png (14.06 KiB) 3426 mal betrachtet
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Classen Stambaum
Hi!
Die Idee mit LvlGraphControl ist klasse.
Was kaum bekannt ist: Die Komponente wird auch bereits innerhalb der IDE
verwendet. Allerdings für einen anderen Zweck:
Unter "Package" findet man findet man den Menü-Punkt "Package Graph", der
die Abhängigkeiten der Pakete untereinander anzeigt, aber auch
die vom gerade geladenen Projekt.
Winni
Die Idee mit LvlGraphControl ist klasse.
Was kaum bekannt ist: Die Komponente wird auch bereits innerhalb der IDE
verwendet. Allerdings für einen anderen Zweck:
Unter "Package" findet man findet man den Menü-Punkt "Package Graph", der
die Abhängigkeiten der Pakete untereinander anzeigt, aber auch
die vom gerade geladenen Projekt.
Winni
-
- Beiträge: 118
- Registriert: Do 20. Jul 2017, 23:47
- OS, Lazarus, FPC: Win7 und Win10
- CPU-Target: xxBit
- Wohnort: Südheide (Schnuckenland)
Re: Classen Stambaum
"Class_Tree" ist wieder ein schönes Beispiel von "wp_xyz". Vielen Dank an dieser Stelle mal für deine vielen Beispiele.
Runterladen, entpacken, starten und gucken....
Bei dem Beispiel hätte ich noch anzumerken, daß ich die bei mir aktuellste Lazarus-Version nehmen mußte, die bei mir unter "trunk" läuft. Lazarus 2.0.6 hat nicht gereicht, weil wohl inzwischen die "lvlgraphctrl.pas" (umfangreich) erweitert wurde.
Runterladen, entpacken, starten und gucken....
Bei dem Beispiel hätte ich noch anzumerken, daß ich die bei mir aktuellste Lazarus-Version nehmen mußte, die bei mir unter "trunk" läuft. Lazarus 2.0.6 hat nicht gereicht, weil wohl inzwischen die "lvlgraphctrl.pas" (umfangreich) erweitert wurde.
Re: Classen Stambaum
Richtig. Da ich normalerweise mit Lazarus-Trunk arbeite und Code für's Forum nicht sehr ausgiebig teste, ist mir das durch die Lappen gegangen. Aber man kann mit einer Versionsabfrage das Programm leicht auch für die Nicht-Entwickler-Versionen kompilierbar machen (sieht halt dann nicht so gut aus...). Da alle Properties des LvlGraphControl hier zur Laufzeit gesetzt werden, ist das möglich; über den Objektinspektor ginge das nicht, weil man in der lfm-Datei keine Versionsabfragen machen kann.
- Dateianhänge
-
class_tree-v2.zip
- (3.42 KiB) 130-mal heruntergeladen
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Classen Stambaum
Und unter "View" => Unit dependenciesWinni hat geschrieben: Do 7. Mai 2020, 23:22 Unter "Package" findet man findet man den Menü-Punkt "Package Graph", der
Der 2 tab in dem Fenster.
Package wählen um Units zu sehen.
Rechte Maustaste für Optionen. (trunk)
Re: Classen Stambaum
Übrigens, wie wäre es mit ein bisschen deutsch, wenigstens beim Titel?
Classen gibt es nicht. Entweder Klassen oder Classes.
Und Stammbaum schreibt man mit zwei "m".
Da kriegt man ja Kopfweh von dem Titel.
Classen gibt es nicht. Entweder Klassen oder Classes.
Und Stammbaum schreibt man mit zwei "m".
Da kriegt man ja Kopfweh von dem Titel.

- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Classes Stammbaum
@theo
Du hast ja recht.
Ich dachte beim ersten flüchtigen Lesen, dass die amerikanischen Genealogen jetzt auch hier zugeschlagen haben:
Clasen ist ein norddeutscher Name.
Ansonsten ist "Classen" ein wunderbare Beispiel für die Verhunz-Anglizismen.
Winni
Du hast ja recht.
Ich dachte beim ersten flüchtigen Lesen, dass die amerikanischen Genealogen jetzt auch hier zugeschlagen haben:
Clasen ist ein norddeutscher Name.
Ansonsten ist "Classen" ein wunderbare Beispiel für die Verhunz-Anglizismen.
Winni