![]() |
Font-Editor löst AV bei eigener Komponente aus
Hi,
habe eine eigene Komponente die als Eigenschaft "Font" hat. Codeausschnitt:
Delphi-Quellcode:
(Falls die Syntax falsch ist, liegt es daran, dass ich das eben aus dem Kopf heraus geschrieben habe und nicht aus meinem Quellcode kopiert habe!)
fMyFont: TFont;
// Im Public-Teil property MyFont: TFont; read fMyFont write fMyFont; // Im Constructor der Komponente fMyFont := TFont.Create; // Im Destroy der Komponente fMyFont.Free; Im Prinzip funktioniert auch alles. D.h. ich kann die Schriftart, etc. ändern, ohne dass es Probleme gibt. Wenn ich aber im OI auf den kleinen Button "..." drücke, sodass der Font-Editor sich öffnet und ich dort dann etwas einstelle und auf OK klicke gibt es endlos viele AVs :( Wie kann ich das verhindern bzw. was mach ich falsch? Dieser Fehler trat bei Delphi 2005 und 2006 auf. Gruß Sascha |
Re: Font-Editor löst AV bei eigener Komponente aus
Hallo Sascha,
Du mußt für die neue Font-Eigenschaft eine Setter-Methode schreiben:
Delphi-Quellcode:
So sollte es funktionieren.
// in der Klassendeklaration
private procedure SetMyFont (AFont: TFont); published property MyFont: TFont read FMyFont write SetMyFont; // Implementierung procedure TEChecker.SetMyFont (AFont: TFont); begin FMyFont.Assign (AFont); end; Gruß Hawkeye |
Re: Font-Editor löst AV bei eigener Komponente aus
Macht das Read/write das nicht schon?
|
Re: Font-Editor löst AV bei eigener Komponente aus
Der direkte Schreibzugriff kopiert nur den Zeiger, durch den Setter wird der Inhalt des Font-Objekts kopiert.
Gruß Hawkeye |
Re: Font-Editor löst AV bei eigener Komponente aus
Ok, dann ist alles klar.
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 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-2025 by Thomas Breitkreuz