Zitat von
ichbins:
Tu überall showmessages in den Code rein, die dir anzeigen, wo das Programm gerade ist, damit du den Fehler orten kannst.
(z.B. showmessage('Form1.create Ini-Datei öffnen'); )
stimmt, das ist eine möglichkeit ein wenig zu debuggen *gg*
naja mal schauen ob ich die fehlerquellen die delphi nicht stören finde..
//edit: Ich habs jetzt mal über die russische Methode
gelöst. Es gibt an dieser Stelle nämlich keinen wirklichen Fehler, da alle Aktionen genauso ausgeführt werden, wie sie sollen
//edit2: Dafür bekomme ich an einer anderen Stelle vom Explorer einen Fehler, wo Delphi nicht mal wenn ich "Bei
Exception stoppen" anklicke etwas anzeigt?!?
//EDIT3:
so jetzt kann ich doch mit Code dienen, da ich wirklich jede Zeile durchgegangen bin, bis ich die Fehlerquelle hatte:
Delphi-Quellcode:
procedure LoadSong2Deck(Deck:TBassChannel;flag:String);
begin
if Deck.Status=sndplaying then
if Application.MessageBox('really stop playing to load new file?','really stop playing to load new file?',MB_YESNO)=7 then
exit;
form1.Caption:=strfile; //zum debuggen
TRY
Deck.LoadFromFile(strFile); //Hier passiert der Fehler
except
//ShowMessage('hier ist der fehler/error');
end;
ResetInfos(flag);
Form1.lbxPlaylist.Items.Delete(0);
if Form1.lbxPlaylist.Items.Count>0 then
UpdateOnDeck()
else
Form1.lblonDeck.Caption:='';
end;
Also die anderen Funktionen die aufgerufen werden, passen alle, ich hab eh markiert wo der Fehler passiert. Das komische ist nur: Diese Funktion wird auch früher im Programm schon einmal aufgerufen, und da funktioniert alles ohne Probleme. Der Dateiname ist auch zu 100% richtig.
Über Delühi gestartet gibt es keine Probleme, über den Explorer macht die markierte Zeile den Fehler: "Ungültige Gleitkommaoperation"
Um noch zu beschreiben was hier passiert: Einem Channel des BassPlayers wird eine Datei übergeben, die geladen werden soll
//edit: strFile ist eine globale Variable, in der der Dateiname steht