![]() |
Undeklarierter Bezeichner (MediaPlayer)
Hallo Zusammen,
um mich kurz vorzustellen, ich habe seit 1 Jahr meine Ausbildung abgeschlossen und arbeite in der Firma mit Delphi 10.1 Nun aber auch privat da ich wirklich noch Anfänger bin. Ich habe nun ein Problem mit meinem Quellcode. Ich bin mir sicher mein Problem ist für fortgeschrittene schnell zu lösen... :| Ich möchte versuchen über eine "Click.Button" Funktion einen Sound abzuspielen. Hierfür verwende ich eine Mediaplayer componente. (Das ganze wird eine Multiplattform Anwendung) Wird der Button geclickt passiert folgendes:
Code:
Ich möchte also den Link in einer Stringvariable übertragen und dem Procedure "playsound" übertragen. "DataLink" ist golbal angelegt
procedure TTabbedForm.Button1Click(Sender: TObject);
begin DataLink := ('C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\xx.mp3'); playsound(DataLink); end; Hier nun die PlaySound procedure:
Code:
Nun kommt die Fehlermeldung MediaPlayer1.FileName sei ein Undeklarierter Bezeichner
procedure PlaySound(VAR DataLink: string);
begin MediaPlayer1.FileName := DataLink; MediaPlayer1.Play; end; Wenn ich die MediaPlayer1 funktionen gleich in der ButtonClick Procedure ausführe funktioniert alles ohne Probleme.:pale: Hat vielleicht jemand einen Tipp? Vielen Dank Gruß |
AW: Undeklarierter Bezeichner (MediaPlayer)
Playsound gehört nicht zur Form...
Daher ist "ohne" die Form Mediaplayer1 auch nicht erreichbar. |
AW: Undeklarierter Bezeichner (MediaPlayer)
Zitat:
Lass mich raten: MediaPlayer1 ist eine Komponente auf dem Formular TTabbedForm. Und PlaySound ist eine Prozedur, aber keine Methode von TTabbedForm. Mach mal aus PlaySound eine Methode von TTabbedForm und es wird funktionieren. </Glaskugel wieder einpack> |
AW: Undeklarierter Bezeichner (MediaPlayer)
Hallo.
Als erstes: mach mal das
Delphi-Quellcode:
in
var
Delphi-Quellcode:
weg.
procedure playSound()
Als zweites ein paar Fragen die nix mit dem Problem zu tun haben: - wo ist DataLink in Button1 deklariert? - warum übergibst du den String nicht direkt an playSound() so wie unten zu sehen und - warum stellst du Klammern um den String bei der Deklaration?
Delphi-Quellcode:
procedure TForm1.playSound(DataLink: string);
begin MediaPlayer1.FileName := DataLink; MediaPlayer1.Play; end; procedure TForm1.Button5Click(Sender: TObject); begin playSound('C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\spasti alter.mp3'); end; |
AW: Undeklarierter Bezeichner (MediaPlayer)
Zitat:
ok ggf. Const aber weg... eher nicht... |
AW: Undeklarierter Bezeichner (MediaPlayer)
Hallo und willkommen hier...:dp:
Ich würde das File als Konstante anlegen. Wenn du mal an verschieden Stellen den gleichen Sound hast, brauchtst nur die Konstante ändern. :thumb:
Delphi-Quellcode:
PS: Gewöhne dir gleich zu Anfang an, vernünftige Bezeichnungen für die Komponenten, Variablen, Objekte etc. zu verwenden. :thumb:
const
conSoundBlubb = 'C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\spasti alter.mp3' conSoundBla = 'C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\spasti neuer.mp3' . . . procedure TForm1.playSound(DataLink: string); begin MediaPlayer1.FileName := DataLink; MediaPlayer1.Play; end; procedure TForm1.Button5Click(Sender: TObject); begin playSound(conSoundBla); end; . procedure TForm1.Button6Click(Sender: TObject); begin playSound(conSoundBla); end; . procedure TForm1.Button7Click(Sender: TObject); begin playSound(conSoundBlubb); end; |
AW: Undeklarierter Bezeichner (MediaPlayer)
Zitat:
|
AW: Undeklarierter Bezeichner (MediaPlayer)
Zitat:
Vielen Dank für die Antworten. Die vielen Formatfehler etc kommen einfach daher das ich eigentlich nur C gelernt habe und mich nun in Pascal einarbeite. Das wird besser. Wenn ich den String direkt übergebe sagt mir der Compiler es seien zu viele Parameter DataLink ist global deklariert Das mit den Klammern habe ich nicht verstanden. Sorry :| |
AW: Undeklarierter Bezeichner (MediaPlayer)
Hallöle... 8-)
statt:
Delphi-Quellcode:
das:
DataLink := ('C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\xx.mp3');
...
Delphi-Quellcode:
DataLink := 'C:\Users\Sven\Documents\Embarcadero\Studio\Projekte\Soundbord\Sounds\xx.mp3';
... |
AW: Undeklarierter Bezeichner (MediaPlayer)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz