Thema: Delphi "Unsterbliche" Klassen

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#41

Re: "Unsterbliche" Klassen

  Alt 15. Dez 2005, 15:43
Delphi-Quellcode:
unit Unverwundbar;

interface

uses Classes, Sysutils;

procedure FreeAndNil(var Obj);
// Für das FreeAndNil darf in der Unit wo das Projekt eingebunden ist
// kein Sysutils eingebunden sein damit mein FreeAndNil benutzt wird :mrgreen:

type
 TUnverwundbar = class;
 
 TUnvThread = class(TThread)
 private
  procedure MakeUnv;
 public
  Parent: TUnverwundbar;
 protected
  procedure Execute; override;
 end;

TUnverwundbar = class(TObject)
 private
  Seele: TUnvThread;
 public
  TestString: String;
  constructor Create;
  destructor Destroy; override;
  procedure FreeInstance; override;
 end;

implementation

uses UnvDemo;

{ TUnverwundbar }

constructor TUnverwundbar.Create;
begin
 inherited Create;
 Seele := TUnvThread.Create(true);
 Seele.Parent := Self;
 Seele.Resume;
end;

destructor TUnverwundbar.Destroy;
begin

end;

procedure TUnverwundbar.FreeInstance;
begin

end;

procedure FreeAndNil(var Obj);
begin

end;

{ TUnvThread }

procedure TUnvThread.Execute;
begin
  while not Terminated do
  begin
   Synchronize(MakeUnv);
  end;
end;

procedure TUnvThread.MakeUnv;
begin
 if Self.Parent = nil then begin
  Self.Parent := TUnverwundBar.Create; // Das klappt kein bisschen xD
 end; // außerdem wäre das auch nur demo weil der string und die Propertys ja die alten sein müssten^^
end;
end.
Also bis jetzt ist meine Klasse fast un-unverwundbar...
Also wer mir helfen kann/will der kann das gerne tun ^^
Auch wenn jetzt meine geniale FreeAndNil-Abwehr geplatzt ist
Obwohl ich die ja nicht mehr nötig hätte wenn ich Klasse := nil umgehen könnte....
Michael
  Mit Zitat antworten Zitat