Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: was ist der Sinn von Templates/Generics ?
8. Okt 2024, 15:37
Wozu Free?
Erst garnicht erzeugen, wenn nicht nötig oder möglich.
Delphi-Quellcode:
type
QChar = class
private // or protected or public
class function check_ptr(name: PChar; ptr: uint64): Boolean; static;
protected
function getOrigin: uint64;
public
//constructor Create;
//class function Create: QChar; static; // intern nur dann erzeugen, wenn nötig
class function CreateOrNot: QChar; static; // da dieses "Create" unerwartet auch NIL zurückgeben kann, sollte das auch ersichtlich sein.
end;
class function QChar.check_ptr(name: PChar; ptr: uint64): Boolean;
begin
Result := ptr <> 0;
if not Result then
ErrorMessage(PChar(Format('Error: %s not constructed.',[name])));
end;
class function QChar.CreateOrNot: QChar;
begin
Result := nil;
if check_ptr(ClassName, getOrigin) then
Result := inherited Create;
end;
x := QChar.CreateOrNot;
if Assigned(x) then
...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu ( 8. Okt 2024 um 15:40 Uhr)
|