![]() |
Eigene Komponente die TMediaplayer beinhaltet
Hallo zusammen,
ich habe ein Problem. Ich will mir eine eigene nichtsichtbare Komponente erstellen.
Delphi-Quellcode:
Füge ich diese Komponente nun in ein Formular ein, weise Filename einen Dateinamen zu und rufe die Procedure Play auf erhalte ich folgende Fehlermeldung:
unit Jukebox;
interface uses SysUtils, Classes, MPlayer; type TJukebox = class(TComponent) private { Private-Deklarationen } FMediaPlayer : TMediaPlayer; FFilename : String; FVolume : byte; procedure SetVolume ( iValue : integer ); function GetVolume : integer; protected { Protected-Deklarationen } public { Public-Deklarationen } Constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Play; procedure Stop; published { Published-Deklarationen } property Filename : String read FFilename write FFilename; property Volume : integer read GetVolume write SetVolume; end; procedure Register; implementation procedure Register; begin RegisterComponents('Beispiele', [TJukebox]); end; constructor TJukebox.Create (AOwner: TComponent); begin inherited; FMediaPlayer := TMediaplayer.Create(self); end; destructor TJukebox.Destroy; begin fMediaPlayer.Destroy; inherited Destroy; end; procedure TJukebox.SetVolume(iValue : integer); begin if iValue < 0 then { Lautstärke kleiner 0 } iValue := 0 { Lautstärke auf 0 korrigieren } else if iValue > 100 then { Lautstärke größer 100 } iValue := 100; { Lautstärke auf 100 korrigieren } FVolume := iValue; { Lautstärke abspeichern } end; function TJukebox.GetVolume : integer; begin Result := FVolume; end; procedure TJukebox.Play; begin FMediaPlayer.FileName := FFileName; FMediaPlayer.Open; FMediaPlayer.Play; end; procedure TJukebox.Stop; begin FMediaPlayer.Stop; FMediaPlayer.Close; end; end. Zitat:
Delphi-Quellcode:
noch ein
inherited;
FMediaPlayer := TMediaplayer.Create(self);
Delphi-Quellcode:
ein, so bekomme ich beim Compilieren die Fehlermeldung:
FMediaPlayer.Parent := Self;
Inkompatible Typen: 'TWinControl' und 'TJukeBox' Hat jemand eine Idee wie man es schafft eine TMediaplayer-Komponente in eine Nicht-Sichtbare Komponente einbinden kann ?? Gruß, Rainer |
Re: Eigene Komponente die TMediaplayer beinhaltet
Versuche Sie mal self.parent zuzuordnen.
|
Re: Eigene Komponente die TMediaplayer beinhaltet
TJukeBox von TWinControl ableiten oder eine Hilfsfenster als Parent des Mediaplayers erzeugen. Irgendwohin will der Mediaplayer seine ausgaben ja bringen.
|
Re: Eigene Komponente die TMediaplayer beinhaltet
Danke für die Infos. Werde es mal ausprobieren.
Sollte es nicht klappen werde ich wohl den Mediaplayer außen vor lassen und es selbst über mciSendCommand machen. Wegen mir kann hier geschlossen werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 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