NeroCOM 1.0 VS 1.2

Hi. I developed an application using NeroCOM.dll version 1.0.
Now i installed a new version of Nero which registers NeroCOM.dll version 1.2.
I’ve got the Nero SDK 1.05, with the documentation of NeroCOM.dll 1.1.

The problem is with NeroDrives object. In version 1.2 GetDrives returns a INeroDrives, instead in version 1.0/1.1 it returns a NeroDrives object!
So i cannot rebuild my application! So i change the code… but the real problem is that INeroDrives doesn’t have any events!!!

Any suggestion?
Thanks a lot.

The problem is with NeroDrives object. In version 1.2 GetDrives returns a INeroDrives, instead in version 1.0/1.1 it returns a NeroDrives object!
GetDrives method has not changed. It still returns INeroDrives as before.

So i cannot rebuild my application! So i change the code…
The problem seems to be in the client/IDE that probably got confused after a noncreatable NeroDrives object was introduced. In terms of functionality, nothing changed.

What language are you using?

but the real problem is that INeroDrives doesn’t have any events!!!
INeroDrives never fired any events. Perhaps you meant INeroDrive?

Yes. You’re right… i mean NeroDrive, not NeroDrives… sorry.
I’m using VS.NET 2003, language C#. So i think COM object are supported… :slight_smile:
However my problem is still the same: INeroDrive doesn’t have any event. So how can i know when nero finished to burn?

Here’s a code snippet:

NEROLib v1.1:

NEROLib.NeroDrives drives = burnInfo.Nero.GetDrives(mediaType);
NEROLib.NeroDrive drive = drives.Item(burnInfo.DriveIndex);
drive.OnDoneBurn += new NEROLib._INeroDriveEvents_OnDoneBurnEventHandler (drive_OnDoneBurn);
drive.OnProgress += new NEROLib._INeroDriveEvents_OnProgressEventHandler(drive_OnProgress);

NEROLib v1.2:

NEROLib.NeroDrives drives = burnInfo.Nero.GetDrives(mediaType);
NEROLib.INeroDrive drive = drives.Item(burnInfo.DriveIndex);
// No events !!! HELP!!!

Sorry… burnInfo.Nero is simply a reference to an instance of NEROLib.Nero… read it like NEROLib.Nero…

Try doing a cast to NeroDrive like the following:

NEROLib.NeroDrive drive = (NeroDrive) drives.Item(burnInfo.DriveIndex);

The cast solves the problem. Thanx