Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#27

AW: Überprüfen ob ein Objekt existiert aber wie?

  Alt 9. Jun 2013, 19:28
Ein Singleton wäre hier noch eine Alternative. Eine Unit verwaltet Instantiierung, Zugriff und Freigabe. So etwa:

Delphi-Quellcode:
Unit MPlayer;
interface

function MediaPlayer : TMediaPlayer;
implementation
var
  _mediaPlayer : TMediaPlayer;
  _finalized : boolean;

Function MediaPlayer : TMediaPlayer;
Begin
  if _mediaPlayer=nil then
   if _finalized then
     Raise Exception.Create('Application has shut down.')
   else
     _mediaPlayer := TMediaPlayer.Create;

  result = _mediaPlayer;
end;

initialization
  _finalized := false;
  _mediaplayer := nil;
finalization
  _finalized := true;
  FreeAndNil(_mediaplayer);
end.
Der Zugriff erfolgt nur über die Funktion 'MediaPlayer', die bei Bedarf eine -und nur eine- Instanz erstellt.

Ich persönlich würde den Zugriff auf ein Gerät nicht in einem Formular kapseln, denn das ist dafür nicht zuständig. Das Gerät selbst muss wissen, ob es nur von einer Entität bedient werden kann oder ob es mit mehreren Anwendern klar kommt.

Geändert von Furtbichler ( 9. Jun 2013 um 19:30 Uhr)
  Mit Zitat antworten Zitat