wo ist dann das Problem mit dem csDesigning?
Delphi-Quellcode:
type
TYourClass = class(TComponent)
private
fYourBoolean: Boolean;
fSetMethode(AValue: Boolean);
public
property YourProperty: Boolean read fYourBoolean write fSetMethode;
end;
procedure TYourClass.fSetMethode(AValue: Boolean);
begin
if AValue <> fYourBoolean then
begin
fYourBoolean := AValue;
if not(csDesigning in ComponentState) then
begin
//Do something with your Value and the WindowProc
end;
end;
end;
Also einfach deinen Status in einer Variablen speichern und dann zur Runtime erst zusätzlich darauf reagieren.
Du solltest zusätzlich noch dafür sorgen das deine Componente nur einmal erstellt werden kann damit nicht alles durcheinander kommt wenn diese dann in falscher reihenfolge wieder zerstört werden.