Morgen...,
ich hab es geschafft, eine Session zu importieren. Leider nicht 100% erfolgreich.
Zunächst muss man in der NeroApi.pas bei
InitNeroAPIFunctions hinzufügen:
NeroImportDataTrack := GetNeroProc('NeroImportDataTrack');
Dann habe ich vor dem ersten
AddFileToRootIsoItem diese Zeile eingefügt:
RootIsoItem := NeroImportDataTrack(NeroDeviceHandle,NeroCDInfo.ncdiNumTracks-1,ppCDStamp,pInfo,NIITEF_IMPORT_ISO_ONLY,pResult,nil);
Bei NeroCDInfo.ncdiNumTracks mußte ich -1 angeben, damit er die letzte Session einliest. Folgende Variablen mußten noch deklariert werden:
Delphi-Quellcode:
ppCDStamp: PPointer;
pInfo: PNERO_IMPORT_DATA_TRACK_INFO;
pResult: PNERO_IMPORT_DATA_TRACK_RESULT;
Diese werden beim Aufruf von
NeroImportDataTrack gefüllt, sind also zunächst nil.
So, nun dazu, warum es nicht 100% waren. Ich habe jetzt zwei Ordner auf der CD, die jeweils ca. 4,1 MB groß sind. Die Dateien sind alle da und die Ordnergrößen an sich werden im Explorer korrekt angezeigt. Allerdings zeigt die Gesamtgröße der CD nur 5,8 MB an, obwohl es ja ca. 8,2 MB sein müßten. Hat jemand dazu eine Idee?
Und da wir gerade bei Größenangaben sind:
ShowMessage(IntToStr(NeroCDInfo.ncdiFreeCapacityInBlocks) + ' Free Blocks (' + FloatToStrF(NeroCDInfo.ncdiFreeCapacityInBlocks * 2352 / 1024 / 1024 ,ffGeneral, 3, 3) + ' MB)');
Das liefert bei mir total abwegige Ergebnisse. Ein 700 MB Rohling hat angeblich eine Kapazität von 802 MB. Woher kommt die Zahl 2352? Es kann doch nur daran liegen, oder?
Thx,
Gina.