![]() |
AW: Generische Ableitung einer Klasse
Ein Template, wie Uli es gebaut hat, geht auch ohne weiteres in Delphi. Das hat aber noch lange nix mit Generics zu tun, nur weil Generics mithilfe von Templates implementiert sind.
![]() |
AW: Generische Ableitung einer Klasse
Zitat:
Delphi-Quellcode:
Das kannst du dann so aufrufen:
interface
type ICursorGuard = interface end; function GuardCursor(NewCursor: TCursor = crHourGlass): ICursorGuard; implementation type TCursorGuard = class(TInterfacedObject, ICursorGuard) private FOldCursor: TCursor; public constructor Create(NewCursor: TCursor); destructor Destroy; override; end; { TCursorGuard } constructor TCursorGuard.Create(NewCursor: TCursor); begin inherited Create; FOldCursor := Screen.Cursor; Screen.Cursor := NewCursor; end; destructor TCursorGuard.Destroy; begin Screen.Cursor := FOldCursor; inherited Destroy; end; function GuardCursor(NewCursor: TCursor = crHourGlass): ICursorGuard; begin Result := TCursorGuard.Create(NewCursor); end;
Delphi-Quellcode:
procedure Test;
var Guard: ICursorGuard; begin Guard := GuardCursor; //Mach was langwieriges end; // oder sogar so: procedure Test; begin GuardCursor; //Mach was langwieriges end; |
AW: Generische Ableitung einer Klasse
@uligerhardt
nett .... :-D |
AW: Generische Ableitung einer Klasse
Ich hätte noch ne schmutzige Variante:
Man könnte doch über ein Map (zB eine Hashmap) Objektzeigern eine Critical Section zuordnen und dann lock und unlock doch über Class Helper einführen (Die Map sollte dann ihre eigene Critical Section haben bzw. Thread-safe sein.) :freak: |
AW: Generische Ableitung einer Klasse
@BUG: Die Idee hatte ich auch schon. Allerdings wird es dann dahingehend unschön, dass das mit der Freigabe dann so eine Sache wird. Wobei... eigentlich könnte man sowas schon machen, aber es werden am laufenden Band CriticalSections erzeugt, was dann wiederrum nicht so schön ist. Ich glaube ich bleibe bei meinen einzelnen Ableitungen :stupid:
|
AW: Generische Ableitung einer Klasse
Habe selbst maximal D2007 (auf einem anderen Arbeitsplatz) gibt es mittlerweile in fortschrittlicheren Delphiversionen so perverses zeug wie "Aspekte"? Und wäre das dann eine Lösung ?
|
AW: Generische Ableitung einer Klasse
Zitat:
|
AW: Generische Ableitung einer Klasse
Dann hätte er es mit Delphi Prism hinbekommen können, oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz