![]() |
|
![]() ![]() ![]() |
|
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Доброго всем времени суток,возникла следующая проблема:
мне нужно записать на CD информацию при помощи стандартных функций виндовса. На форме нашел исходники,но билдер на них жутко ругаецца и топчет ногами на типы вроде CString ![]() код брал тут: http://forum.vingrad.ru/forum/topic-95309/...mapi/index.html Помогите,пожалуйста, и не отсылайте в погуглиться - искал, инфы много, но исходников почти нет. ![]() |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Вот нашел ещё:есть функции из пакета ICDBurn, с помощью которого запись на диск производится легко и непринужденно.Для тех, кто в этом разбирается.Нашел, что для записи файлов на CD используется каталог Staging area. Узнать его можно с помощью функции SHGetSpecialFolderPath, передав ей флаг CSIDL_CDBURN_AREA. Но у этой функции никак не разберусь с параметрами.
Затем в этот каталог нужно скопировать нужные данные.Простите за такой вопрос,но я только разбираюсь в С++ и не очень представляю, как это сделать. Потом создаем объект типа ICDBurn и вызываем для него метод Burn, с параметрами которого мне тоже непонятно что к чему. Разъясните, пожалуйста, что к чему. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Читать тут |
|||
|
||||
Демидрол |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Например, пишу:
И при выполнении программы выдает ошибку http://pic.ipicture.ru/uploads/081110/MYCNJ4VWVS.jpg Не мог бы кто-нбудь объяснить,чего я делаю не так? Понял, в чем косяк - надо проинстанцировать объект. Инстанцирую:
но он не инстанцируется.Не знаю почему. Это сообщение отредактировал(а) Демидрол - 10.11.2008, 14:21 |
||||
|
|||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Разобрался, почему не инстанцируется - попались при рождении руки-крюки =)
Но возникла следующая проблема:
При исполнеинии строки pICDBurn->Burn(0); возникает ошибка, причина которой для меня остается загадкой. ![]() |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Косяк опять из-за рук =)
меняем местами строчки
и... ВУАЛЯ!!!!!!Работает!!! Спасибо себе за помощь. P.S. помогит пожалуйста голову не ломать и помогите примером, как копировать из директории в директорию. ПОЖАЛУЙСТА!!! |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
|
||||
|
|||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
А может еще есть смысл покурить SDK на тот же Nero - это все есть на его офф. сайте.
|
|||
|
||||
SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
||||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Всем спасибо большое за оказанную помощь, Тему закрываю.
![]() ![]() |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
ммм....народ,проблема дальше:диалог вызывается, все пучком, но почему-то диск пустой в сидюшнике не видится, пишет, что диска в сидроме нема...может,кто сталкивался, поможет...
а,ещё такой вопрос: в строке HRESULT hr = pICDBurn->GetRecorderDriveLetter(buf1,2); мы находим букву сидирома и записываем путь в buf1. А как перевести потом wchar_t *buf1 в, например, AnsiString DiscName ??? ![]() Это сообщение отредактировал(а) Демидрол - 27.11.2008, 18:00 |
|||
|
||||
xvr |
|
||||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Смотрим в MSDN
|
||||||||||||||
|
|||||||||||||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
![]() xvr, спасибо за помощь!!!Твои ответы мне всегда помогают!!Спасибо ОГРОМНОЕ!!! ![]() ещё такой вопрос: значения из buf1 я получил, только это числа, в ASCII коде соответствующие символам, с помощью которых название диска мне непонятно. А как же тогда извлечь нужную букву диска??? Это сообщение отредактировал(а) Демидрол - 28.11.2008, 12:43 |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Ау...никто не знает, как решить проблему с возвращаемым значением функции GetRecorderDriveLetter?
|
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Не понял, что за проблема.
Это сообщение отредактировал(а) xvr - 15.12.2008, 17:32 |
||||
|
|||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
xvr, спасибо большое,помогло.Только следующая проблема - он ссылается на диск С
![]() а как исправить эту проблему?Как сделать так, чтобы функция GetRecorderDriveLetter yf[jlbkf cd-ром, а не жесткий диск? |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Проверь код возврата из самогго метода GetRecorderDriveLetter, может он не смог ![]()
|
||||
|
|||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
он возвращает, цитирую, в переводе на символы:
C:\D кстати,D - собственно, буква cd-рома.И как быть?
возвращает значение -2147467259, что означает E_FAIL... не очень в этом разбираюсь, поэтому что делать не знаю. ![]() появилсь мысль о том, что в винде надо пменять чего-нибудь...а что не знаю - про опцию Enable cd writing on this drive понял, но не нашел,где её выставлять... Это сообщение отредактировал(а) Демидрол - 18.12.2008, 13:07 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Вызов метода сломался. Что он там вернул - уже неважно ![]()
|
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
и что делать, чтобы его починить? ![]()
делаю примерно так-же: Мой компьютер -> (Правая кн мыши) -> Свойства -> оборудование-> диспетчер устройств -> DVD и CD ROM дисководы -> <мой диск> -> свойства -> ??? А где устанавливать свойство Enable cd writing on this drive??? непонятно.... ![]() Это сообщение отредактировал(а) Демидрол - 18.12.2008, 13:42 |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Увы, не знаю.
|
||||||
|
|||||||
Демидрол |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
не нашёл вклдаки <Запись> ни при нажатии правой клавишей на диске, ни в его свойствах... Может, нужно использовать cd-r, а не cd-rw? ![]() Добавлено через 1 минуту и 5 секунд
не нашёл вклдаки <Запись> ни при нажатии правой клавишей на диске, ни в его свойствах... Может, нужно использовать cd-r, а не cd-rw? ![]() |
||||
|
|||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
А сама XP на него пишет? (Не через Nero, а напрямую) |
||||
|
|||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
не,не пишет, пишет, что нет доступа к диску, какая-то неверная функция =)
|
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
ЭЙ!!!Гуру программирования!!!Помогите, плиз!!!!Может, записывать на диск можно как-нибудь другим способом?
Можно примеры???? Помогите, пожалуйста, никак не справлюсь с этим... |
|||
|
||||
Sharkfire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 30.11.2006 Где: Одесса Репутация: 2 Всего: 2 |
Демидрол, XP не пишет а ты хочешь чт бы твой писал? ты шо прикалываешься?
тем более ты пользуешься стандартными экспишными фукнциями. Ищи альтернативы либо меняй сидюк |
|||
|
||||
Демидрол |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 7.6.2008 Где: СПб Репутация: нет Всего: нет |
Sharkfire, дело в том, что дома у меня стоит ХР от Зверя - она чотко при вставлеии болванки отписывается, что может на него записать чего хочешь.А на работе стоит ХР такая, что....мммм....руки пообрывать, кто её делал...Вот.Я бы с радость. переставил её, но контора решает, а не я))))Поэтому и не знаю, как справиться с проблемой.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |