![]() |
ChangeFileExt funktioniert bei paar Usern meines Apps nicht
Ihr kennt doch sicherlich die Funktion "ChangeFileExt".
Diese benutze ich in meinen Tools. Nun hab ich einen spanischen User, bei dem diese Funktion nicht funktioniert und somit in meinem Programm zu Problemen führt. Woran kann das liegen, das "ChangeFileExt" nicht funtzt, bzw. was kann man machen, um es doch so hinzubekommen? |
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Hallo.
Vielleicht liegt es doch nicht an der Prozedur, sondern an den übergebenen Argumenten. Grüße vom marabu |
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Zeig mal deinen Aufrufcode (und wenn möglich die übergeben Argumente die zu der "Fehlfunktion" führen ;))
|
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
normalerweise so:
Delphi-Quellcode:
S_ORG_FILENAME:=OD_Input_file.FileName;
M_AVISYNTH.Lines.savetoFile(ChangeFileExt(E_Work_folder.text+extractfilename(OD_Input_file.FileName),'_AQ3_SVCDRESIZED.avs')); OD_Input_file.FileName:=(ChangeFileExt(E_Work_folder.text+extractfilename(OD_Input_file.FileName),'_AQ3_SVCDRESIZED.avs')); if pos(S_ORG_FILENAME,OD_Input_file.FileName) > 0 then begin M_Log.lines.add(TimeToStr(time)+' - '+DateToStr(Date)+' >> Error: Renaming of the input-files in AVISynth scripts won''t work on your machine! Report the bug.'); V_RENAMEERROR:=1; end; |
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Sobald jemand beim Umbenennen dem alten Namen einfach einen Prefix verpasst, wird dein Fehlerhinweis ausgegeben. Soll das wirklich so sein?
marabu |
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Mein Programm bearbeitet verschiedene Video-Formate. AVI-Dateien machen Probleme.
Ich hab folgenden Programmteil, der dann nicht klar kommt:
Delphi-Quellcode:
da ich zuvor, falls die Quelle eine AVI-Datei war, folgendes ausgeführt hatte:
if not pos(uppercase('.avs'),uppercase(M_AVISYNTH.Lines[i])) > 0
then if (pos(uppercase('Import'),uppercase(M_AVISYNTH.Lines[i])) > 0) or (V_RENAMEERROR=1) then M_Log.lines.add(TimeToStr(time)+' - '+DateToStr(Date)+' >> Fixaround: Try to fix rename-bug. Please preview your AVSScript.') else begin if pos(uppercase('.avi'),uppercase(M_AVISYNTH.Lines[i])) > 0 then begin if pos(uppercase('audio=false'),uppercase(M_AVISYNTH.Lines[i])) > 0 then M_Log.lines.add(TimeToStr(time)+' - '+DateToStr(Date)+' >> Found Audiofix in '''+extractfilename(OD_Input_file.Filename)+'') else begin M_Log.lines.add(TimeToStr(time)+' - '+DateToStr(Date)+' >> Added Audiofix to '''+extractfilename(OD_Input_file.Filename)+''); M_AVISYNTH.Lines[i]:=StringReplace(M_AVISYNTH.Lines[i], ')', ',audio=false)', [rfReplaceAll]); M_AVISYNTH.Lines.savetoFile(OD_Input_file.Filename); M_AVISYNTH.Clear; M_AVISYNTH.Lines.LoadFromFile(OD_Input_file.Filename); end; end; end;
Delphi-Quellcode:
Ich denke, dass ich mit dem Fixaround das Problem schon gelöst habe, aber trotzdem frage ich mich, warum die Funktion "ChangeFileExt" bei mir und bei meinem Lead-Tester funktioniert, aber beim Spanier nicht. Welche Einstellungen könnte er haben, das Renaming nicht bei ihm funktioniert ...
if pos(uppercase('.avi'),uppercase(OD_Input_file.FileName)) > 0
then begin M_AVISYNTH.Lines.Clear; M_AVISYNTH.lines.Add('# -= AviSynth script by '+caption+' =-'); M_AVISYNTH.lines.Add('# -= Remove Audio =-'); M_AVISYNTH.lines.Add('AVISource("'+OD_Input_file.FileName+'",pixel_type="YUY2",audio=false)'); avssource:=OD_Input_file.FileName; S_ORG_FILENAME:=OD_Input_file.FileName; M_AVISYNTH.Lines.savetoFile(ChangeFileExt(avssource,'_AQ3_NOAUDIO.avs')); OD_Input_file.FileName:=(ChangeFileExt(avssource,'_AQ3_NOAUDIO.avs')); Zur Zeit hab ich die Messages in der Log der letzten Nightly Build von AutoQ3. Mal sehen, ob ich diese rausnehme. Der Spanier muss mir ja auch noch zurück mailen, obs jetzt bei ihm geht. |
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Mein spanischer User hat zurückgemailt. Er hat immer noch Probleme. Kann man "ChangeFileExt" durch was anderes ohne großen Aufwand ersetzen?
|
Re: ChangeFileExt funktioniert bei paar Usern meines Apps ni
Hallo,
ChangeFileExt() dürfte dein Problem nicht sein. Schon in Beitrag #2 habe ich vermutet, dass es die Argumente sind, die Aufschluss über die Fehlerursache geben werden. Eventuell hat dein spanischer Anwender die maximal zulässige Namens- bzw Pfadlänge überschritten. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz