AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit dem Mediaplayer

Ein Thema von Tim178 · begonnen am 23. Nov 2009 · letzter Beitrag vom 23. Nov 2009
Antwort Antwort
Tim178

Registriert seit: 21. Mär 2009
9 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 18:24
GUI:
Code:
unit mHaupt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls,mNeben,mDialog, MPlayer;
type
  TGui = class(TForm)
  TMediaPlayer: TMediaPlayer;
  private
    Neben : TNeben;
    Dialog: TDialog;
    procedure Neue;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Gui: TGui;

implementation

{$R *.dfm}

procedure TGui.Neue;
begin
  Neben := TNeben.Create(Gui,TMediaplayer);
  Neben.Parent := GUI;
  Neben.Name := dialog.Getname;
  Neben.Left := Random(Gui.Width-100);
  Neben.Top := Random(Gui.Height-100);
  Neben.Show;
  dialog.Free;
end;
end.
Neben:

Code:
unit mNeben;

interface

uses
  ExtCtrls, Classes, Dialogs, Sysutils,mplayer;

type
   TNeben = class(TImage)
   private
      FFarbe:String;
      Fmp : TMediaplayer;
      { Private-Deklarationen }
   public
      constructor Create(AOwner:TComponent; mp : TMediaplayer); virtual;
      { Public-Deklarationen }
   end;

implementation

implementation

constructor Neben.Create(AOwner:TComponent; mp : TMediaplayer);
var a :integer;
begin
   a := Random(2);
   inherited create(AOwner);
   case a of
        0 : begin
               FFarbe := 'rot';
               Picture.LoadFromFile('xy.bmp');
               Fmp.FileName := 'xy.wav'
            end;
        1 : begin
               FFarbe := 'gelb';
               Picture.LoadFromFile('xy.bmp');
               Fmp.FileName := 'xy.wav'
            end;
    end;
end;
end.

Mein Problem besteht jetzt darin, dass das Programm soweit läuft, doch immer wenn die Prozedur Neue aufgerufen wird, das Programm abstürtzt. Es kann nur an dem Mediaplayer liegen, da das Programm vorher einwandfrei gelaufen ist. Danke für eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 18:41
Kurz überflogen:

Delphi-Quellcode:
begin
   a := Random(2);
   inherited create(AOwner);
   case a of
        0 : begin
               FFarbe := 'rot';
               Picture.LoadFromFile('xy.bmp');
               Fmp.FileName := 'xy.wav'
            end;
        1 : begin
               FFarbe := 'gelb';
               Picture.LoadFromFile('xy.bmp');
               Fmp.FileName := 'xy.wav'
            end;
    end;
end;
Wann gedenkst du denn, Fmp zu intialisieren?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Tim178

Registriert seit: 21. Mär 2009
9 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 18:44
Wo soll denn das wenn intialisiert werden. In Gui oder TNeben? Fmp soll ja TMediaplayer zugewiesen werden.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 18:50
TMediaPlayer: TMediaPlayer; Benenn den mal um. Es scheint ja zu compillieren, aber das ist schlechter Stil. Der Name der Komponente lautet so wie der Typ - das tut man einfach nicht.

Weiter im Programm:

Create(AOwner:TComponent; mp : TMediaplayer); Du übergibst TMediaPlayer als mp im Create an die Klasse. Und dann nutzt du im Constructor selbst fmp. Merkste wat?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Tim178

Registriert seit: 21. Mär 2009
9 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 18:54
Vielen Dank. War schon total frustiert. Habe schon alles nachgeprüft, doch das habe ich leider übersehen.

Auch vielen vielen Dank für die schnelle Antwort.
  Mit Zitat antworten Zitat
Tim178

Registriert seit: 21. Mär 2009
9 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 19:52
Habe noch ein kleines Problem und zwar will mein TurboDelphi nicht Application.ProcessMessages anerkennen.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#7

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 19:54
Unit "Forms" einbinden, dann klappts...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 19:54
(Cursor auf Application.ProcessMessages setzen und F1 betätigen) --> Uses Forms;
Thomas
  Mit Zitat antworten Zitat
Tim178

Registriert seit: 21. Mär 2009
9 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Problem mit dem Mediaplayer

  Alt 23. Nov 2009, 20:07
Danke. Wie ihr merkt bin ich noch nicht so fit in Delphi. Habe aber wieder was neues dazu gelernt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz