Einzelnen Beitrag anzeigen

Benutzerbild von arc
arc

Registriert seit: 6. Nov 2009
Ort: Elbflorenz
62 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Dynamisch erzeugte Komponente soll sich selbst löschen...

  Alt 20. Nov 2010, 12:54
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...

Geändert von arc (20. Nov 2010 um 13:13 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat