Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

MBS Xojo Plugin Tutorial Videos

DiscRecording Source

Note: The function DesktopFolder is deprecated in Xojo. You can replace it with SpecialFolder.desktop.

Class App
Inherits Application
// Constants
Const kFileQuitShortcut = Ctrl+Q
Const kFileQuit = E&xit
Const kEditClear = &Delete

// Event implementations
Sub Open()
dim track as DRTrackMBS
dim bsp as MyBurnSetupPanel
dim bpp as MyBurnProgressPanel

window1.Show

track=CreateTrack
if track<>nil then
bsp=new MyBurnSetupPanel

bsp.setCanSelectAppendableMedia true
bsp.setCanSelectTestBurn true

if bsp.runSetupPanel=bsp.NSOKButton then
bpp=new MyBurnProgressPanel

bpp.beginProgressPanelForBurn bsp.burnObject, track
else
// cancel
quit
end if
end if

End Sub

// Methods
Function CreateTrack() As DRTrackMBS
dim f as FolderItem
dim fo as DRFolderMBS
dim virtualFolder as DRFolderMBS
dim virtualFile as DRFileMBS
dim MacFile, WinFile as DRFileMBS

f=DesktopFolder.Child("Backup")
if f<>Nil and f.Exists then
fo=DRFolderMBS.folderWithPath(f)
if fo<>Nil then

virtualFolder=DRFolderMBS.virtualFolderWithName("A test folder")

virtualFile=DRFileMBS.virtualFileWithName("Test File","Content of test file.")
virtualFolder.addChild virtualFile

MacFile=DRFileMBS.virtualFileWithName("Test File","Content of test file.")
MacFile.explicitFilesystemMask=DRFileMBS.DRFilesystemInclusionMaskHFSPlus
virtualFolder.addChild MacFile

winFile=DRFileMBS.virtualFileWithName("Test File","Content of test file.")
WinFile.explicitFilesystemMask=DRFileMBS.DRFilesystemInclusionMaskISO9660+DRFileMBS.DRFilesystemInclusionMaskJoliet+DRFileMBS.DRFilesystemInclusionMaskUDF
virtualFolder.addChild winFile

fo.makeVirtual

fo.addChild virtualFolder

Return DRTrackMBS.trackForRootFolder(fo)
end if
end if

End Function
End Class

Class Window1
Inherits Window
// Controls
ControlInstance
End ControlInstance
End Class

Class MyBurnSetupPanel
Inherits DRBurnSetupPanelMBS
// Event implementations
Sub DeviceSelectionChanged(device as DRDeviceMBS)
window1.ListBox1.AddRow "device: "+device.displayName
End Sub
End Class

Class MyBurnProgressPanel
Inherits DRBurnProgressPanelMBS
// Event implementations
Function burnProgressPanelBurnDidFinish(burn as DRBurnMBS) As boolean
window1.ListBox1.AddRow "CD finished."
End Function
Sub burnProgressPanelWillBegin()
window1.ListBox1.AddRow "Panel is visible"
End Sub
Sub burnProgressPanelDidFinish()
window1.ListBox1.AddRow "panel closed"
End Sub
End Class


All movies




Links
MBS Xojo PDF Plugins