So, habe endlich die groben Fehler des Demos gefunden, ordner wird einwandfrei gebrannt.
Mal wieder in AddFileToRootIsoItem:
Delphi-Quellcode:
If DirectoryExists(FileName) then
StrPCopy(TempItem.sourceFilePath, '') // sourceFilePath bleibt bei Ordnern leer
else
StrPCopy(TempItem.sourceFilePath, FileName);
TempItem.sourceFilePath[SizeOf(TempItem.sourceFilePath) - 1] := #00; // hier war .filename angegeben
Auch in AddFileToRootIsoItem (in der repeat-Schleife):
Delphi-Quellcode:
if Assigned(SubDirItem) then
begin
SubDirItem.nextItem := NeroCreateIsoItem();
SubDirItem.nextItem.fileName := ''; // nextitem ist das neue, also hier filename setzen
SubDirItem := SubDirItem.nextItem;
end
In IdleCallback und AbortedCallback muss als result false zurückgegeben werden. Möchtest du einen "Abbrechen"-Knopf einbauen, brauchst du eine globale Variable die dann bei drücken auf true gesetzt wird.