IMAPI

Le
Damien Detrain
Bonjour,

Quelqu'un utilise-t-il IMAPI pour graver des CD's ?

Voilà mon problème, j'ai un petit programme qui graver des données de
manière très simple.

Ce que je veux, c'est pouvoir afficher une barre de progression. J'ai trouvé
sur le site de microsoft un exemple que j'ai adapté en .NET, le voici dans
les grandes lignes :

'Déclaration des variables

Private WithEvents DataWriter As New IMAPI2.MsftDiscFormat2Data
Private WithEvents DataEraser As New IMAPI2.MsftDiscFormat2Erase

'interception des évènements :

Private Sub test(ByVal objet As Object, ByVal progress As Object) Handles
DataWriter.Update
Dim strTimeStatus
strTimeStatus = "Time: " & progress.ElapsedTime & " / " &
progress.TotalTime
Select Case progress.CurrentAction
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA
Label1.Text = "Validating media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA
Label1.Text = "Formatting media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE
Label1.Text = "Initializing Hardware " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER
Label1.Text = "Calibrating Power (OPC) " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA
Dim totalSectors, writtenSectors, percentDone
totalSectors = progress.SectorCount
writtenSectors = progress.LastWrittenLba - progress.StartLba
percentDone = FormatPercent(writtenSectors / totalSectors)
Label1.Text = "Progress: " & percentDone & " " &
strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION
Label1.Text = "Finishing the writing " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED
Label1.Text = "Completed the burn."
Case Else
Label1.Text = "Unknown action: " & progress.CurrentAction
End Select
End Sub

Et bien, à aucun moment le programme ne passe dans la gestion d'évènements.
Quelqu'un à une idée ?

Merci.

Damien Detrain
S.A. LOGAL.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
William
Le #17390331
Bonjour,
Dans les propriétés de ton projet - informations de l'assembly, coche la
case rendre l'assembly visible par COM.

++
William.

"Damien Detrain" news:48e1ca0d$0$2865$
Bonjour,

Quelqu'un utilise-t-il IMAPI pour graver des CD's ?

Voilà mon problème, j'ai un petit programme qui graver des données de
manière très simple.

Ce que je veux, c'est pouvoir afficher une barre de progression. J'ai
trouvé sur le site de microsoft un exemple que j'ai adapté en .NET, le
voici dans les grandes lignes :

'Déclaration des variables

Private WithEvents DataWriter As New IMAPI2.MsftDiscFormat2Data
Private WithEvents DataEraser As New IMAPI2.MsftDiscFormat2Erase

'interception des évènements :

Private Sub test(ByVal objet As Object, ByVal progress As Object) Handles
DataWriter.Update
Dim strTimeStatus
strTimeStatus = "Time: " & progress.ElapsedTime & " / " &
progress.TotalTime
Select Case progress.CurrentAction
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA
Label1.Text = "Validating media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA
Label1.Text = "Formatting media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE
Label1.Text = "Initializing Hardware " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER
Label1.Text = "Calibrating Power (OPC) " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA
Dim totalSectors, writtenSectors, percentDone
totalSectors = progress.SectorCount
writtenSectors = progress.LastWrittenLba -
progress.StartLba
percentDone = FormatPercent(writtenSectors / totalSectors)
Label1.Text = "Progress: " & percentDone & " " &
strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION
Label1.Text = "Finishing the writing " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED
Label1.Text = "Completed the burn."
Case Else
Label1.Text = "Unknown action: " & progress.CurrentAction
End Select
End Sub

Et bien, à aucun moment le programme ne passe dans la gestion
d'évènements. Quelqu'un à une idée ?

Merci.

Damien Detrain
S.A. LOGAL.


Damien Detrain
Le #17401271
Malheureusement cela ne fonctionne pas.

Merci quand même.

D. Detrain

"William" discussion :
Bonjour,
Dans les propriétés de ton projet - informations de l'assembly, coche la
case rendre l'assembly visible par COM.

++
William.

"Damien Detrain" news:48e1ca0d$0$2865$
Bonjour,

Quelqu'un utilise-t-il IMAPI pour graver des CD's ?

Voilà mon problème, j'ai un petit programme qui graver des données de
manière très simple.

Ce que je veux, c'est pouvoir afficher une barre de progression. J'ai
trouvé sur le site de microsoft un exemple que j'ai adapté en .NET, le
voici dans les grandes lignes :

'Déclaration des variables

Private WithEvents DataWriter As New IMAPI2.MsftDiscFormat2Data
Private WithEvents DataEraser As New IMAPI2.MsftDiscFormat2Erase

'interception des évènements :

Private Sub test(ByVal objet As Object, ByVal progress As Object) Handles
DataWriter.Update
Dim strTimeStatus
strTimeStatus = "Time: " & progress.ElapsedTime & " / " &
progress.TotalTime
Select Case progress.CurrentAction
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA
Label1.Text = "Validating media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA
Label1.Text = "Formatting media " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE
Label1.Text = "Initializing Hardware " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER
Label1.Text = "Calibrating Power (OPC) " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA
Dim totalSectors, writtenSectors, percentDone
totalSectors = progress.SectorCount
writtenSectors = progress.LastWrittenLba -
progress.StartLba
percentDone = FormatPercent(writtenSectors / totalSectors)
Label1.Text = "Progress: " & percentDone & " " &
strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION
Label1.Text = "Finishing the writing " & strTimeStatus
Case IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED
Label1.Text = "Completed the burn."
Case Else
Label1.Text = "Unknown action: " & progress.CurrentAction
End Select
End Sub

Et bien, à aucun moment le programme ne passe dans la gestion
d'évènements. Quelqu'un à une idée ?

Merci.

Damien Detrain
S.A. LOGAL.






Publicité
Poster une réponse
Anonyme