Darksoul71
9th March 2004, 19:54
Hi,
I´ve been trying to write a utility that automates the whole DVD->DVD-R conversion process based on DVD Decrypter and InstantCopy 8.0.
My steps:
1) Run DVD decrypter to extract all files DVD to a temporary directory on HD
2) Compress DVD to PDI-files using InstantCopy
3) Burn *.PDI-Files to DVD via DVD Decrypter and here is where my problems start:
I generate the following line in Delphi:
"C:\Programme\DVDDecrypter\DVD Decrypter\DVDDecrypter.exe" /MODE ISOWRITE /SRC "L:\bubblegum crisis 1.PDI" /DEST "F:\" /START /CLOSE
DVD Decrypter starts in ISO Burn Mode but tells me file "bubblegum crisis 1.PDI" not found. When I copy this line into a batch file, it runs fine. So the commandline itself should be ok.
Has anyone a clue why running from Delphi fails ?
TIA,
D$
Oh yes, I forgot to add my Delphi code:
procedure TForm1.StartConversion(Sender: TObject);
Var AppPath,
RippCmd,
ConvCmd,
BurnCmd : String;
begin
// Logfile Fenster löschen
Memo2.Lines.Clear;
// Setzen der Befehlszeilen
RippCmd := '/MODE FILE /SRC "%DVDReader%" /DEST "%DVDName%" /START /CLOSE /FILES ALL"';
ConvCmd := '/srcimage "%Source%" /dstimage "%PDIFile%" /autostart';
BurnCmd := '/MODE ISOWRITE /SRC "%PDIFile%" /DEST "%DVDBurner%" /START /CLOSE';
// Extrahieren des Applikationspfades
AppPath := ExtractFilePath(Application.Exename);
// Knopf abschalten
SpeedButton4.Enabled := False;
// Rippen der DVD mit DVD Decrypter
Memo2.Lines.Add('Start Ripp-Vorgang: '+TimeToStr(Time)+' Uhr');
Memo2.Lines.Add('DVD-Titel: '+Edit4.Text);
If Not DirectoryExists(Edit3.Text+Edit4.Text) Then MkDir(Edit3.Text+Edit4.Text);
RippCmd := StringReplace(RippCmd,'%DVDReader%',ComboBox1.Text,[rfReplaceAll]);
RippCmd := StringReplace(RippCmd,'%DVDName%',Edit3.Text+Edit4.Text,[rfReplaceAll]);
//ExecuteAndWait(Edit1.Text+' '+RippCmd, ExtractFilePath(Edit1.Text),False, True);
// Konvertieren der DVD mittels InstantCopy
Memo2.Lines.Add('Starte Konvertierung mit InstantCopy: '+TimeToStr(Time)+' Uhr');
ConvCmd := StringReplace(ConvCmd,'%Source%',Edit3.Text+Edit4.Text+'\VIDEO_TS.IFO',[rfReplaceAll]);
ConvCmd := StringReplace(ConvCmd,'%PDIFile%',Edit3.Text+Edit4.Text+'.PDI',[rfReplaceAll]);
//ExecuteAndWait(Edit2.Text+' '+ConvCmd, ExtractFilePath(Edit2.Text),False, True);
// Brennen der DVD mit DVD Decrypter
Memo2.Lines.Add('Starte Brennvorgang: '+TimeToStr(Time)+' Uhr');
BurnCmd := StringReplace(BurnCmd,'%PDIFile%',Edit3.Text+Edit4.Text+'.PDI',[rfReplaceAll]);
BurnCmd := StringReplace(BurnCmd,'%DVDBurner%',ComboBox2.Text,[rfReplaceAll]);
//ExecuteAndWait(Edit1.Text+' '+BurnCmd, ExtractFilePath(Edit1.Text),False, True);
Memo2.Lines.Add(Edit1.Text+' '+BurnCmd) ;
Memo2.Lines.Add('Kopiervorgang beendet: '+TimeToStr(Time)+' Uhr');
// Shutdown falls gewählt
If CheckBox1.Checked Then
Begin
Memo2.Lines.Add('PC wird heruntergefahren !');
Memo2.Lines.SaveToFile(AppPath+Edit4.Text+'.LOG');
ExecuteAndWait(AppPath+'wizmo.exe shutdown', AppPath,False, True);
End;
// Knopf einschalten
SpeedButton4.Enabled := True;
end;
[/QUOTE]
I´ve been trying to write a utility that automates the whole DVD->DVD-R conversion process based on DVD Decrypter and InstantCopy 8.0.
My steps:
1) Run DVD decrypter to extract all files DVD to a temporary directory on HD
2) Compress DVD to PDI-files using InstantCopy
3) Burn *.PDI-Files to DVD via DVD Decrypter and here is where my problems start:
I generate the following line in Delphi:
"C:\Programme\DVDDecrypter\DVD Decrypter\DVDDecrypter.exe" /MODE ISOWRITE /SRC "L:\bubblegum crisis 1.PDI" /DEST "F:\" /START /CLOSE
DVD Decrypter starts in ISO Burn Mode but tells me file "bubblegum crisis 1.PDI" not found. When I copy this line into a batch file, it runs fine. So the commandline itself should be ok.
Has anyone a clue why running from Delphi fails ?
TIA,
D$
Oh yes, I forgot to add my Delphi code:
procedure TForm1.StartConversion(Sender: TObject);
Var AppPath,
RippCmd,
ConvCmd,
BurnCmd : String;
begin
// Logfile Fenster löschen
Memo2.Lines.Clear;
// Setzen der Befehlszeilen
RippCmd := '/MODE FILE /SRC "%DVDReader%" /DEST "%DVDName%" /START /CLOSE /FILES ALL"';
ConvCmd := '/srcimage "%Source%" /dstimage "%PDIFile%" /autostart';
BurnCmd := '/MODE ISOWRITE /SRC "%PDIFile%" /DEST "%DVDBurner%" /START /CLOSE';
// Extrahieren des Applikationspfades
AppPath := ExtractFilePath(Application.Exename);
// Knopf abschalten
SpeedButton4.Enabled := False;
// Rippen der DVD mit DVD Decrypter
Memo2.Lines.Add('Start Ripp-Vorgang: '+TimeToStr(Time)+' Uhr');
Memo2.Lines.Add('DVD-Titel: '+Edit4.Text);
If Not DirectoryExists(Edit3.Text+Edit4.Text) Then MkDir(Edit3.Text+Edit4.Text);
RippCmd := StringReplace(RippCmd,'%DVDReader%',ComboBox1.Text,[rfReplaceAll]);
RippCmd := StringReplace(RippCmd,'%DVDName%',Edit3.Text+Edit4.Text,[rfReplaceAll]);
//ExecuteAndWait(Edit1.Text+' '+RippCmd, ExtractFilePath(Edit1.Text),False, True);
// Konvertieren der DVD mittels InstantCopy
Memo2.Lines.Add('Starte Konvertierung mit InstantCopy: '+TimeToStr(Time)+' Uhr');
ConvCmd := StringReplace(ConvCmd,'%Source%',Edit3.Text+Edit4.Text+'\VIDEO_TS.IFO',[rfReplaceAll]);
ConvCmd := StringReplace(ConvCmd,'%PDIFile%',Edit3.Text+Edit4.Text+'.PDI',[rfReplaceAll]);
//ExecuteAndWait(Edit2.Text+' '+ConvCmd, ExtractFilePath(Edit2.Text),False, True);
// Brennen der DVD mit DVD Decrypter
Memo2.Lines.Add('Starte Brennvorgang: '+TimeToStr(Time)+' Uhr');
BurnCmd := StringReplace(BurnCmd,'%PDIFile%',Edit3.Text+Edit4.Text+'.PDI',[rfReplaceAll]);
BurnCmd := StringReplace(BurnCmd,'%DVDBurner%',ComboBox2.Text,[rfReplaceAll]);
//ExecuteAndWait(Edit1.Text+' '+BurnCmd, ExtractFilePath(Edit1.Text),False, True);
Memo2.Lines.Add(Edit1.Text+' '+BurnCmd) ;
Memo2.Lines.Add('Kopiervorgang beendet: '+TimeToStr(Time)+' Uhr');
// Shutdown falls gewählt
If CheckBox1.Checked Then
Begin
Memo2.Lines.Add('PC wird heruntergefahren !');
Memo2.Lines.SaveToFile(AppPath+Edit4.Text+'.LOG');
ExecuteAndWait(AppPath+'wizmo.exe shutdown', AppPath,False, True);
End;
// Knopf einschalten
SpeedButton4.Enabled := True;
end;
[/QUOTE]