Ich versuche gerade in Freepascal eine Classe mit der BASS.dll zu schreiben. Leider bekomme ich einen Fehler "External: SIGSEGV". Ich konnte den Fehler auf die Procedure Execute meines Threads eingerenzen.
Code: Alles auswählen
//-----------------------------------------------------------------------------
Procedure Channel.Execute;
//-----------------------------------------------------------------------------
Begin
Repeat
BeginGlobalLoading;
IF BASS_ChannelGetLength (Stream, BASS_POS_BYTE) =
BASS_ChannelGetPosition(Stream, BASS_POS_BYTE) then Begin
IF not SinglePlay then Begin
BASS_StreamFree (Stream);
IF CurrentFile <= Length(Playlist)-1 then // Playliste ohne Repeat
INC (CurrentFile)
else // Playliste mit Repeat
IF PlaylistRepeat then CurrentFile := 0;
IF CurrentFile <= Length(Playlist)-1 then Begin
Stream := BASS_StreamCreateFile (FALSE,
PCHAR(Playlist[CurrentFile]),
0, 0, Flags);
BASS_ChannelPlay (Stream, FALSE);
end;
LastError := BASS_ErrorGetCode;
end; {not SinglePlay}
end; {Ende der Datei}
EndGlobalLoading;
Until Terminated;
end; {Execute}
Code: Alles auswählen
IF BASS_ChannelGetLength (Stream, BASS_POS_BYTE) =
BASS_ChannelGetPosition(Stream, BASS_POS_BYTE) then Begin
MfG
Thandor