Ich habe mich letztendlich für die Timerversion entschieden, die ja nichts anderes ist als die Sache mit den Messages, nur auf vertrautem Terrain.
Letztenendes sieht es so aus:
Delphi-Quellcode:
type TModifyModule = class(TSplitModule)
DeleteTimer:TTimer;
constructor Create; override;
procedure eventHandlerParameterFormControlsDelete(Sender:TObject); virtual;
procedure eventHandlerParameterFormControlsDeleteWrapper(Sender:TObject); virtual;
destructor Destroy; override;
end;
constructor TModifyModule.Create;
begin
inherited Create;
DeleteTimer:=TTimer.Create(nil);
DeleteTimer.Enabled:=false;
DeleteTimer.Interval:=10;
end;
procedure TModifyModule.eventHandlerParameterFormControlsDelete(Sender:TObject);
begin
// code zum Löschen
DeleteTimer.Enabled:=false;
end;
procedure TModifyModule.eventHandlerParameterFormControlsDeleteWrapper(Sender:TObject);
begin
DeleteTimer.OnTimer:=eventHandlerParameterFormControlsDelete;
DeleteTimer.Enabled:=true;
end;
destructor TModifyModule.Destroy;
begin
FreeAndNil(DeleteTimer);
inherited Destroy;
end;
Funktioniert bisher wunderbar...