Property Editor: FONT. Ein Anwendungsfehler?

Rund um die LCL und andere Komponenten
Antworten
Lorca
Beiträge: 109
Registriert: Di 3. Nov 2020, 12:25

Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von Lorca »

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
Dateianhänge
Register_Panel.PNG
Register_Panel.PNG (5.43 KiB) 847 mal betrachtet
Font_Error.PNG
Font_Error.PNG (12.8 KiB) 847 mal betrachtet

PascalDragon
Beiträge: 560
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?

Beitrag von PascalDragon »

Wie schaut denn die Eigenschaft im Code aus?
FPC Compiler Entwickler

wp_xyz
Beiträge: 4323
Registriert: Fr 8. Apr 2011, 09:01

Re: Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von wp_xyz »

In graphpropedits.pas (Verzeichnis (lazarus)/components/ideintf) steht im Initialisierungsabschnitt:

Code: Alles auswählen

  RegisterPropertyEditor(ClassTypeInfo(TFont), nil,'',TFontPropertyEditor);  
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.

wennerer
Beiträge: 370
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon, Lazarus Stable 2.2.0 (rev lazarus_2_2_0) FPC 3.2.2 x86_
CPU-Target: x86_64-linux-gtk2

Re: Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von wennerer »

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
Dateianhänge
FontTest.zip
(68.95 KiB) 31-mal heruntergeladen

Lorca
Beiträge: 109
Registriert: Di 3. Nov 2020, 12:25

Re: Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von Lorca »

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.

wennerer
Beiträge: 370
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon, Lazarus Stable 2.2.0 (rev lazarus_2_2_0) FPC 3.2.2 x86_
CPU-Target: x86_64-linux-gtk2

Re: Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von wennerer »

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

Lorca
Beiträge: 109
Registriert: Di 3. Nov 2020, 12:25

Re: Property Editor: FONT. Ein Anwendungsfehler?

Beitrag von Lorca »

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

Antworten