Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi E/A Fehler-32 Was ist das? (https://www.delphipraxis.net/83346-e-fehler-32-ist-das.html)

hedie 31. Dez 2006 15:06


E/A Fehler-32 Was ist das?
 
Hallo

Ich programmiere einen Musik Player der seine Lieder und Pfade von Listboxen bekommt.

Doch wenn ich meine Random (also zufällig) funktion verwende dan wechselt er das lied zwar einwandfrei aber es
kommt immer eine Fehler meldung

E/A Fehler-32 mit einem OK button aber das lied läuft gewechselt im hintergrund.

Der Code ist dieser

Delphi-Quellcode:
var
ran:integer;
begin
ran := random(listbox1.Items.Capacity);
if mp.Position = MP.Length then begin
Listbox1.Selected[ran] := true;
mp.FileName := Listbox2.Items.Strings[ran];
mp.Open;
mp.Play;
RID3(mp.FileName);
Label1.Caption := TitleTag;
Label2.Caption := ArtistTag;
if Settings.ReadBool('SETTINGS','BALLOON',False) = True then begin
TI.BalloonHint := (Label1.Caption + ' ' + Label2.Caption);
TI.ShowBalloonHint;
end;
sleep(100);
end;
mp ist der MediaPlayer
RID3 ist Read ID3 also für den Titel Etc...
Settings ist eine INI datei
TI ist ein TrayIcon

Es klappt eigentlich alles also wenn ich zb. manuell umschalte benutze ich in etwa den gleichen code
und da kommt kein E/A Fehler-32

Ausgeführt wird dieser Code von einem Timer der auf 1000MS steht


ich hoffe ihr seht den Fehler rascher als ich



Vielen dank
Claudio Hediger

turboPASCAL 31. Dez 2006 15:17

Re: E/A Fehler-32 Was ist das?
 
Ich nehm mal an das es an deinem "RID3"-Teil liegt. E/A-Fehler sind Datei ein -und Ausgabe Fehler.
Du bzw. dein Prg. wird wolh in einer Datei lesen oder schreiben die dafür nict "Vorgesehen" ist.

Luckie 31. Dez 2006 15:18

Re: E/A Fehler-32 Was ist das?
 
Forensuche: [dp]E/A Fehler-32[/dp] ;)

mirage228 31. Dez 2006 15:20

Re: E/A Fehler-32 Was ist das?
 
Zitat:

Zitat von Luckie
Forensuche: [dp]E/A Fehler-32[/dp] ;)

Wirklich aufschlussreich :mrgreen:

EA-Fehler 32 ist eine "Sharing Violation", das bedeutet, dass die Datei gerade noch von einem anderen oder deinem Programm offen gehalten wird.

mfG
mirage228

hedie 31. Dez 2006 15:21

Re: E/A Fehler-32 Was ist das?
 
Perfekt es war der RID3 Teil

So habs herausgefunden was zu ändern war

Delphi-Quellcode:
var
ran:integer;
begin
ran := random(listbox1.Items.Capacity);
if mp.Position = MP.Length then begin
Listbox1.Selected[ran] := true;
mp.FileName := Listbox2.Items.Strings[ran];
mp.Open; <---- HIER IST DIE DATEI SCHO IN VERWENDUNG
mp.Play;
RID3(mp.FileName); <---- HIER WILL ER SIE ERST ÖFFNEN
Label1.Caption := TitleTag;
Label2.Caption := ArtistTag;
if Settings.ReadBool('SETTINGS','BALLOON',False) = True then begin
TI.BalloonHint := (Label1.Caption + ' ' + Label2.Caption);
TI.ShowBalloonHint;
end;
sleep(100);
end;
Und zwar so

Delphi-Quellcode:
var
ran:integer;
begin
ran := random(listbox1.Items.Capacity);
if mp.Position = MP.Length then begin
Listbox1.Selected[ran] := true;
mp.FileName := Listbox2.Items.Strings[ran];
RID3(mp.FileName); <--------------------
mp.Open;                              -
mp.Play;                              -
                   <--------------------               
Label1.Caption := TitleTag;
Label2.Caption := ArtistTag;
if Settings.ReadBool('SETTINGS','BALLOON',False) = True then begin
TI.BalloonHint := (Label1.Caption + ' ' + Label2.Caption);
TI.ShowBalloonHint;
end;
sleep(100);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 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