![]() |
active geht nicht
hi leutz,
ich hab folgendes problem: ich hab eine komponente, die die eigenschaft active besitzt. diese hab ich wie alle anderen eigenschaften deklariert.
Delphi-Quellcode:
jetzt möchte ich im oncreate prüfen, ob active auf true oder false gestellt wurde. aber egal, was ich im oi einstelle, factive ist IMMER false.
private
FActive : boolean; published property Active : boolean read factive write factive; an einer anderen stelle wird active oder factive nicht beeinträchtigt.
Delphi-Quellcode:
woran kann das liegen? weil das ist irgendwie ganz komisch.
inherited Create(AOwner);
if NOT (csDesigning in ComponentState) then if factive then loadproperties; mfg matthias |
Re: active geht nicht
Da ich nicht weiß, wovon Deine Komponente abgeleitet ist, tippe ich mal, dass bereits die Vorfahrklasse eine Eigenschaft Active besitzt.
|
Re: active geht nicht
Delphi-Quellcode:
TDirectGridControl = class(TComponent)
|
Re: active geht nicht
Hallo Matthias,
wenn du die Komponente auf das Formular gezogen hast und die Eigenschaften dann im OI bearbeiten willst, ist doch csDesigning im ComponentState, oder? |
Re: active geht nicht
aber das create der kompo wird erst aufgerufen, wenn das programm gestartet wird.
vorher wird eigentlich kein quelltext ausgeführt. oderi rre ich mich da? ansonsten muss ich mir was überlegen, wie ich das mache, das er beim start des programmes, wenn active true ist, die einstellungen lädt. |
Re: active geht nicht
Hi,
beim Create der Kompo ist dein fActive immer false, weil die Kompo noch gar nicht fertig geladen ist. Dazu gibt es das Ereignis Loaded, welches dir anzeigt, dass die Kompo vollständig aus der dfm ge'loaded' ist. Hier kannst Du nun prüfen, ob fActive einen bestimmten Zustand, so wie im OI eingestellt hat. Dazu mußt du die Methode Loaded allerdings überschreiben. Schau dir das mal in der Online Hilfe an. Frohes Fest :-D P.S. Wieso gibt es eigentlich für die OH keinen Button in der Such-Anfragen Einstellung des Boards ? :roll: |
Re: active geht nicht
hi,
ich hab jetzt die loaded methode per override überschrieben. klappt einwandfrei! danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 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