Einzelnen Beitrag anzeigen

schnickers

Registriert seit: 25. Okt 2005
12 Beiträge
 
Delphi 2009 Enterprise
 
#1

TWindowsMediaPlayer, Fehler bei mehrmaligem aufrufen

  Alt 1. Dez 2005, 12:46
Hallo erstmal, nach durchforschen der suche konte ich nichts dazu finden also...

im groben hab ich eine MDIForm in der mehrere unterschiedliche Childform aufgerufen werden.
Diese Childforms Enhalten mehrere eingabeFelder und die TWindowsMediaPlayer (WMP) componente.
je nach aufruf (unterschiedliche Parameter) wird die URL des WMP beschrieben.

kurzer bsp code:

Delphi-Quellcode:
// Mainform, Aufruf des MDIChild
procedure TMainForm.CreateChildAudio;
var
  Child: TFormDBAudio;
begin
  Child := TFormDBAudio.Create(Application);
end;
Delphi-Quellcode:
// Constructor für neues Element, WMP.URL entspricht einem vorher definierten Default wert (c:\temp\demo.wav)
constructor TFormDBAudio.Create(owner :TComponent; EID :integer);
begin
  inherited Create(Owner); // Initialize inherited parts
  ButtonSave.Enabled:= true;
  ADOQueryGetAudioTable.Open;
  ADOQueryGetAudioTable.Insert;

  ElementEID:= EID;
  Caption := 'Audio - (mit Element "'+IntToStr(EID)+'" verbunden';
end;

// Constructor für ein altes Element, WMP.URL entspricht einem (aus der datenbank) gewonnen
constructor TFormDBAudio.Create(owner :TComponent; AID, EID :integer);
var
  temp :string;
begin
  inherited Create(Owner); // Initialize inherited parts
  ButtonSave.Enabled:= false;

  ADOQueryGetAudioTable.Parameters.ParamByName('parAID').Value:= AID;
  ADOQueryGetAudioTable.open; // Öffnet die Tableconnection
  Caption := 'Audio - '+ DBATitel.Text +' - (mit Element ['+IntToStr(EID)+'] verbunden'; // Bennent das Fenster

  temp:= ADOQueryGetAudioTable.FieldByName('AID').Value;
  WMediaPlayerAudio.URL:= URLPath + temp + '.mus';
end;
wenn ich nun sagen wie 3 mal die Form öffne und dan schließe bekomme ich folgende Fehlermeldung:
Access violation at address 0778C733 in module 'wmp.dll'. Read of adress 00A2331C

Beim schließen des Programms gibs dann nochmal dashier:
Exception EAccessViolation in Module MdiAPP.exe at 00000000.
Access violation at address 00000000 in module 'wmp.dll'. Read of adress 00000000


noch zum rest: das prog dient als eingabemaske für eine datebank (access, ADOQuery usw.)

ich vermute das es am WMP liegt, da bei anderen Forms ohne den WMP keine probleme gibt.

Wenn irgendwer ne idee hat was da komisches vor sich geht, ich bin für alles dankbar.
falls noch informationen gebraucht werden, einfach bescheid sagen.

Gruß schnickers
  Mit Zitat antworten Zitat