Hallo, ich programmier gerade meine 1. Selbstständige Compo, habe dabei mit was super einfachen angefangen: Einer Compo, die nur einen Integer Wert in der Variable (F)Value speichert.
Das ging auch ganz gut, dann bin ich auf die Idee gekommen, dass es ganz schön wäre, wenn ein (mein erstes Ereignis) beim Ändern des Wertes aufgerufen wird. Also habe ich in meinem Buch nachgeblättert, die Prozedur Change Value funktioniert, nur deren aufruf beim Ändern des Wertes geht nicht.
Delphi-Quellcode:
unit IntegerCompo1;
interface
uses
Windows, Messages, SysUtils, Classes;
type
TIntegerComponent =
class;
TValueChangeEvent =
procedure(Sender: TIntegerComponent; NewValue: Longint)
of object;
TIntegerComponent =
class(TComponent)
private
{ Private-Deklarationen }
FOnValueChange: TValueChangeEvent;
procedure ValueChange;
protected
{ Protected-Deklarationen }
FValue: Longint;
public
{ Public-Deklarationen }
published
{ Published-Deklarationen }
property OnValueChange: TValueChangeEvent
read FOnValueChange
write FOnValueChange;
property Value: Longint
read FValue
write FValue;
end;
procedure Register;
implementation
procedure TIntegerComponent.ValueChange;
begin
if Assigned(FOnValueChange)
then
FOnValueChange(Self, FValue);
end;
procedure Register;
begin
RegisterComponents('
Samples', [TIntegerComponent]);
end;
end.