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....