Das Ancessor ist egal ... es ist ja nur die Speicherstelle, wo die Variable für die Position drin ist.
Delphi-Quellcode:
procedure TComponent.PropertyLeseMethode(Reader: TReader);
begin
MeineVariable := Reader.ReadInteger;
end;
procedure TComponent.PropertySpeicherMethode(Writer: TWriter);
begin
Writer.WriteInteger(MeineVariable);
// Man kann hier auch mehrere Werte speichern (z.B. X und X eines TPoint), aber das würde/könnte/sollte man vielleicht besser in
// WriteListBegin und WriteListEnd verpacken, damit es als zusammengehörig erkennbar ist.
// Gibt weniger Probleme beim Einlesen, wenn etwas am Format falsch ist, bzw. geändert wurde.
end;
procedure TComponent.DefineProperties(Filer: TFiler);
begin
Filer.DefineProperty('PropertyNameInDerDFM', PropertyLeseMethode, PropertySpeicherMethode, TrueWennPropertyInDerDFMGespeichertWerdenSoll);
// oder Filer.DefineBinaryProperty
// z.B. MeineVariable<>0, bzw. MeineVariable<>DefaultOrInitialWert oder einfach immer nur True für TrueWennPropertyInDerDFMGespeichertWerdenSoll
end;