Hi @ all.
Habe folgendes Problem.
Hier der Code:
Delphi-Quellcode:
procedure TForm1.LoadPlayList(Filename:string);
var
list: TStringList;
index: integer;
Module: PFMusicModule;
Stream: PFSoundStream;
TracksCount: Integer;
begin
list:=TStringList.Create;
list.LoadFromFile(Filename);
TracksCount:=ListBox1.ItemIndex;
for index:=0 to list.Count-1 do
begin
Stream := nil;
Module := FMUSIC_LoadSong(PChar(list[Index]));
if Module = nil then
begin
Stream := FSOUND_Stream_Open(PChar(list[Index]), FSOUND_NORMAL or FSOUND_LOOP_NORMAL, 0, 0);
end;
if (Module = nil) and (Stream = nil) then
begin
Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'Konnte Datei nicht laden', MB_OK or MB_ICONHAND);
Continue;
end;
if Module <> nil then
begin
FMUSIC_SetMasterVolume(Module, 255);
if (FMUSIC_GetType(Module) = FMUSIC_TYPE_MOD) or (FMUSIC_GetType(Module) = FMUSIC_TYPE_S3M) then
FMUSIC_SetPanSeperation(Module, 0.15);
end;
Tracks[TracksCount].Module := Module;
Tracks[TracksCount].Stream := Stream;
Tracks[TracksCount].Playing := False;
//----Hier kommt der Fehler---------//
ListBox1.Items.Add(ExtractFileName(list[index]));
//---------------------------------//
end;
list.Free;
end;
Dieser Code fügt eine Datei mit vielen Dateinamen in meine Playliste ein.
Der fMod Code ist nicht so wichtig.
Allerdings kommt es an der markierten Stelle immer zu einer Zugriffsverletzung.
Kann mir wer sagen warum?
MfG
Flips
Philipp F.