Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Hinweis unterdrücken "Auf x zugewiesener Wert wird niemals benutzt"

  Alt 2. Jun 2014, 09:00
Erweitere die Klasse um eine class function Construct : IWaitCursor;
Delphi-Quellcode:
type
  IWaitCursor = interface
  end;

  TWaitCursor = class (TInterfacedObject, IWaitCursor)
  private
    fCursor : TCursor;
  public
    constructor Create;
    destructor Destroy; override;

    class function Construct : IWaitCursor;
  end;

implementation

class function TWaitCursor.Construct : IWaitCursor;
begin
  Result := TWaitCursor.Create;
end;

constructor TWaitCursor.Create;
begin
  inherited;
  fCursor := Screen.Cursor;
  Screen.Cursor := crHourGlass;
  MainFrom.TrafficLight := tlRed;
end;

destructor TWaitCursor.Destroy;
begin
  Screen.Cursor := fCursor;
  MainFrom.TrafficLight := tlGreen;
  inherited;
end;
dann kann das ohne Speicherleck und Warnung so benutzt werden
Delphi-Quellcode:
procedure Foo;
begin
  TWaitCursor.Construct;
  Sleep( 1000 );
end;
Stimmt. Dann halt mit Variable und try-finally
Wieso?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat