Property Editor: FONT. Ein Anwendungsfehler?
Property Editor: FONT. Ein Anwendungsfehler?
Hi,
derzeit baue ich gerade eine Komponente für ein ButtonPanel, welches dann die Pages von TNODEBOOK behandeln soll.
Hintergrund dazu ist, das ich den Button (als Tabreiter) der aktuellen und aktiven Seite, in einer fetten dunkelblauen Farbe darstellen will.
Hierzu habe ich das Panel selber mit dem Property: "Active_Font" ausgestattet.
Im Constructor dieses Panels erstelle ich ein Objekt auf dieses Property.
Es funzt ganz wunderbar. Jedoch mit einer echt üblen Einschränkung.
Wenn ich im Property Editor (s. unterer Anhang) auf der Linken Seite (grün markiert) klicke, um die Einstellungen durchzuführen ist alles gut. Die *.lfm Datei wird um diese Property-Eigenschaften angereichert.
ABER, wenn ich auf die drei Punkte auf der rechten Seite klicke, um die gewünschten Eigenschaften einzustellen, macht Lazarus beim Speichern der Form die Grätsche.
Hat jemand eine Idee/Vorstellung was hier schief läuft?
Benötige ich eine Unit die eingebunden werden muss, damit auf diesen Klick irgendwelche zusätzlichen Klassen aktiv werden können?
Viele Grüße
ein rätselnder Lorca
derzeit baue ich gerade eine Komponente für ein ButtonPanel, welches dann die Pages von TNODEBOOK behandeln soll.
Hintergrund dazu ist, das ich den Button (als Tabreiter) der aktuellen und aktiven Seite, in einer fetten dunkelblauen Farbe darstellen will.
Hierzu habe ich das Panel selber mit dem Property: "Active_Font" ausgestattet.
Im Constructor dieses Panels erstelle ich ein Objekt auf dieses Property.
Es funzt ganz wunderbar. Jedoch mit einer echt üblen Einschränkung.
Wenn ich im Property Editor (s. unterer Anhang) auf der Linken Seite (grün markiert) klicke, um die Einstellungen durchzuführen ist alles gut. Die *.lfm Datei wird um diese Property-Eigenschaften angereichert.
ABER, wenn ich auf die drei Punkte auf der rechten Seite klicke, um die gewünschten Eigenschaften einzustellen, macht Lazarus beim Speichern der Form die Grätsche.
Hat jemand eine Idee/Vorstellung was hier schief läuft?
Benötige ich eine Unit die eingebunden werden muss, damit auf diesen Klick irgendwelche zusätzlichen Klassen aktiv werden können?
Viele Grüße
ein rätselnder Lorca
- Dateianhänge
-
- Register_Panel.PNG (5.43 KiB) 1413 mal betrachtet
-
- Font_Error.PNG (12.8 KiB) 1413 mal betrachtet
-
- Beiträge: 955
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Property Editor: FONT. Ein Anwendungsfehler?
Wie schaut denn die Eigenschaft im Code aus?
FPC Compiler Entwickler
Re: Property Editor: FONT. Ein Anwendungsfehler?
In graphpropedits.pas (Verzeichnis (lazarus)/components/ideintf) steht im Initialisierungsabschnitt:
Das heißt meiner Meinung nach, dass jedes Property, das ein TFont ist, im Object-Inspector den TFontPropertyEditor verwendet, egal wie es heißt (''). Also: eigentlich müsste es funktionieren.
Es kann natürlich sein, dass dein Code fehlerhaft ist. Ich kann mir vorstellen, dass es zu einem Absturz kommt, wenn du auf den Font zugreifst, aber die Komponente z.B. noch kein Handle hat (HandleAllocated).
Vorsuche zuerst, die Komponente zur Laufzeit zu erzeugen und den Font zu ändern. Wenn es auch hier einen Absturz gibt, tust du dich leichter beim Debuggen. Andernfalls starte die IDE mit dem Kommandozeilen-Parameter --debug-log=laz.log - oft erhält man aus der so erzeugten Log-Datei laz.log einen Hinweis auf die Fehlerquelle.
Code: Alles auswählen
RegisterPropertyEditor(ClassTypeInfo(TFont), nil,'',TFontPropertyEditor);
Es kann natürlich sein, dass dein Code fehlerhaft ist. Ich kann mir vorstellen, dass es zu einem Absturz kommt, wenn du auf den Font zugreifst, aber die Komponente z.B. noch kein Handle hat (HandleAllocated).
Vorsuche zuerst, die Komponente zur Laufzeit zu erzeugen und den Font zu ändern. Wenn es auch hier einen Absturz gibt, tust du dich leichter beim Debuggen. Andernfalls starte die IDE mit dem Kommandozeilen-Parameter --debug-log=laz.log - oft erhält man aus der so erzeugten Log-Datei laz.log einen Hinweis auf die Fehlerquelle.
-
- Beiträge: 608
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Property Editor: FONT. Ein Anwendungsfehler?
Hallo Lorca,
ich hänge dir meine minimal Komponente mit Font Test an (wird in Standard installiert). Damit habe ich mal herum getestet, vielleicht bringt es dich weiter.
Viele Grüße
Bernd
ich hänge dir meine minimal Komponente mit Font Test an (wird in Standard installiert). Damit habe ich mal herum getestet, vielleicht bringt es dich weiter.
Viele Grüße
Bernd
- Dateianhänge
-
FontTest.zip
- (68.95 KiB) 51-mal heruntergeladen
Re: Property Editor: FONT. Ein Anwendungsfehler?
Herzlichen Dank euch allen
für eure Antworten und Tip's
@wennerer:
Dein Coding hat geholfen. *Freu*
Nach dem TFONT.Create habe ich die OnChange Methode nicht zugewiesen. Ich hatte keine Ahnung das dies nötig war.
Und in der zugewiesenen Handlermethode war der Aufruf von Invalidate der entscheidende Faktor.
Nochmals vielen Dank
Gruß Lorca
PS: Wenn ich die irgendwann, fertige Komponente, allen in diesem Forum zur Verfügung stellen möchte, in welcher Rubrik mache ich das bzw. ist dies überhaupt erwünscht?
Der Grund ist, das weder TPageControl, TNoteBook, TTabControl, TExtendedNoteBook eine Funktionalität bieten, den aktiven Tabreiter
vom Entwickler farbig einstellen zu können.
für eure Antworten und Tip's
@wennerer:
Dein Coding hat geholfen. *Freu*
Nach dem TFONT.Create habe ich die OnChange Methode nicht zugewiesen. Ich hatte keine Ahnung das dies nötig war.
Und in der zugewiesenen Handlermethode war der Aufruf von Invalidate der entscheidende Faktor.
Nochmals vielen Dank
Gruß Lorca
PS: Wenn ich die irgendwann, fertige Komponente, allen in diesem Forum zur Verfügung stellen möchte, in welcher Rubrik mache ich das bzw. ist dies überhaupt erwünscht?
Der Grund ist, das weder TPageControl, TNoteBook, TTabControl, TExtendedNoteBook eine Funktionalität bieten, den aktiven Tabreiter
vom Entwickler farbig einstellen zu können.
-
- Beiträge: 608
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: Property Editor: FONT. Ein Anwendungsfehler?
Hallo Lorca,
freut mich das es dir geholfen hat.
Ich bin weder Profi noch Moderator und kann da nur für mich sprechen. Aber unter Projekte gibt es ja das Unterforum "Units/Komponenten" mit der Beschreibung "Zur Vorstellung von Komponenten und Units für Lazarus ". Das sollte doch dann der richtige Platz dafür sein. Ich freue mich jedenfalls immer wenn dort was neues Vorgestellt wird.
Viele Grüße
Bernd
freut mich das es dir geholfen hat.
Ich bin weder Profi noch Moderator und kann da nur für mich sprechen. Aber unter Projekte gibt es ja das Unterforum "Units/Komponenten" mit der Beschreibung "Zur Vorstellung von Komponenten und Units für Lazarus ". Das sollte doch dann der richtige Platz dafür sein. Ich freue mich jedenfalls immer wenn dort was neues Vorgestellt wird.
Viele Grüße
Bernd
Re: Property Editor: FONT. Ein Anwendungsfehler?
Hallo wennerer,
herzlichen Dank für Deine Info.
Dann werde ich mal ein wenig schnuppern.
Und wenn die Komponente fertig ist werde ich diese dann mal vorstellen.
Viele Grüße
Lorca
herzlichen Dank für Deine Info.
Dann werde ich mal ein wenig schnuppern.
Und wenn die Komponente fertig ist werde ich diese dann mal vorstellen.
Viele Grüße
Lorca