![]() |
Re: DelphiNeroApi - Dateien übergeben
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:
Delphi-Quellcode:
Dann habe ich vor dem ersten AddFileToRootIsoItem diese Zeile eingefügt:
NeroImportDataTrack := GetNeroProc('NeroImportDataTrack');
Delphi-Quellcode:
Bei NeroCDInfo.ncdiNumTracks mußte ich -1 angeben, damit er die letzte Session einliest. Folgende Variablen mußten noch deklariert werden:
RootIsoItem := NeroImportDataTrack(NeroDeviceHandle,NeroCDInfo.ncdiNumTracks-1,ppCDStamp,pInfo,NIITEF_IMPORT_ISO_ONLY,pResult,nil);
Delphi-Quellcode:
Diese werden beim Aufruf von NeroImportDataTrack gefüllt, sind also zunächst nil.
ppCDStamp: PPointer;
pInfo: PNERO_IMPORT_DATA_TRACK_INFO; pResult: PNERO_IMPORT_DATA_TRACK_RESULT; 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:
Delphi-Quellcode:
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?
ShowMessage(IntToStr(NeroCDInfo.ncdiFreeCapacityInBlocks) + ' Free Blocks (' + FloatToStrF(NeroCDInfo.ncdiFreeCapacityInBlocks * 2352 / 1024 / 1024 ,ffGeneral, 3, 3) + ' MB)');
Thx, Gina. |
Re: DelphiNeroApi - Dateien übergeben
Die 2352 stehen für die Bytes/Block. Für Rohdaten hast du tatsächlich 802MB zur Verfügung, z.B. wenn du eine (S)VCD oder eine Audio CD brennst, bei Daten-CDs werden dann ca. 100MB für CRC-Checks benötigt. Hier eine kleine Liste:
Code:
Irrtümer vorbehalten.
Audio CD : 2352
(Super) VideoCD : 2324 ISO Level 1 Mode 1 : 2048 ISO Level 2 Mode 1 : 2336 ISO Level 1 Mode 2/XA : 2048 ISO Level 2 Mode 2/XA : 2324 |
Re: DelphiNeroApi - Dateien übergeben
Liste der Anhänge anzeigen (Anzahl: 1)
Ahh, vielen Dank, dann ist das ja klar...
Habe auch gerade das Einlesen der Brenner-Infos auf einem anderen PC probiert. Dort geht es auch sehr schnell. Nur bei mir nicht... *grübel* Außerdem hab ich meine angefangene CD mal mit Nero geprüft. Er zeigt mir im Arbeitsplatz also nur die Größe der letzten Session an. Muss ich ihm die beim Einlesen der Session noch übergeben? Wenn ja wie ? Ich hab mal einen Screenie der Sessions angehängt. Es sieht so aus, als wenn zwischen den Tracks eine ziemlich große Pause ist. Was kann ich da tun? Tausend Dank, Gina. PS: Mit den dort angezeigten Sessions sind etwa 137 MB der CD belegt... |
Re: DelphiNeroApi - Dateien übergeben
Zitat:
Zitat:
Zitat:
|
Re: DelphiNeroApi - Dateien übergeben
Super jbg, vielen Dank.
Hast du das schon integriert? Oder eine andere Lösung dafür? Muß man vielleicht wirklich das \. auselesen, um das Datum eines Ordners zu bekommen? Zitat:
1) Warum belegt er so viel mehr Speicher, als die Dateien groß sind? Hat das was mit der Reservierung durch #0 zu tun? 2) Wie übergebe ich den bisher belegten Platz? 3) Wenn die CD nicht genug Platz hat, wirft er sie aus, es kommt aber keine Meldung. Wie frage ich nach der AddFileToRootIsoItem ab, wieviel Platz die Zusammenstellung belegt? Oje, Fragen über Fragen... |
Re: DelphiNeroApi - Dateien übergeben
Zitat:
Delphi-Quellcode:
Ist bereits im CVS Code drinnen.
function DirectoryAge(const DirectoryName: string): Integer;
var sr: TSearchRec; begin Result := -1; if FindFirst(DirectoryName, faAnyFile or faDirectory, sr) = 0 then begin Result := sr.Time; FindClose(sr); end; end; |
Re: DelphiNeroApi - Dateien übergeben
@jbg
Das ist gut. Fehlt jetzt evtl. nur noch ein "Abbrechen"-Knopf für die Rückgabewerte von IdleCallback und AbortedCallback. AudioCDs hab ich auch getestet, das klappt zwar, da kommt aber am Ende meistens eine Schutzverletzung, weis noch nicht woran das liegt. @gina Habe mich mal mit MultiSession beschäftigt, aber irgendwas fehlt da noch. Muss irgend ein Flag oder so sein. Er importiert zwar die Session, aber wie du sagst die Gesamtgrösse stimmt nicht und das echte Nero erkennt es nicht als Nero-eigenes MultiSession-Format. |
Re: DelphiNeroApi - Dateien übergeben
Hi,
eine AV ist bei mir auch aufgetaucht, und zwar, wenn die CD voll ist. Wenn noch ein wenig Platz ist, dann wirft er sie nur aus, wenn sie aber total voll ist, kommt eine AV. Die Meldung von Nero, dass es nicht das Mutlisessionformat ist, hab ich auch bekommen. Das liegt sicher daran, dass er nicht alle Informationen eingelesen hat, die er braucht, um die Session korrekt fortzuschreiben... Und dann hab ich die Sache mit dem Speicherverbrauch mal genauer analysiert. Nach dem ersten Track macht er eine Pause von 02:32.00 Minuten. Nach jedem weiteren Track jeweils eine Pause von 01:32.00 Minuten. Das ergibt bei 5 Sessions etwa 76 MB verschenkter Platz... Es gibt doch bei Audio-CDs so eine Option, wo man die Pause weglassen kann. Hat es damit vielleicht etwas zu tun? (Kenne mich mit Audio-CDs nicht so aus) @jbg Eine Frage zur DirectoryAge: Sehe ich das richtig, dass bei einem Ordner dann kein Datum zurückgegeben wird? Bei mir zumindest ist es so. Je nachdem, ob ich den Pfad mit Backslash übergebe (Result -1) oder ohne Backslash (Result ist ungültiges Timeformat). *grübel* Thx, Gina. |
Re: DelphiNeroApi - Dateien übergeben
Zitat:
|
Re: DelphiNeroApi - Dateien übergeben
Hmm, komisch. Und wieso bekomme ich dann eine Fehlermeldung, wenn ich den Pfad ohne Backslash übergebe? Liegt das etwa auch an meinem D6?
Zu dem Speicherverbrauch: Ich nehme alles zurück und behaupte das Gegenteil... ;) Denn heute haben wir herausgefunden, dass Nero direkt bei Multisession ebenfalls soviel Speicher verbraucht. Wohl für Lead-In-Lead-Out. Ist mir echt noch nie aufgefallen... :oops: Das ist ja der poore Wahnsinn... Trotzdem bleibt die Sache mit der Übergabe des bisher belegten Speicherplatzes... :gruebel: Bis denne, Gina. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 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