Страница: 1 | 2 |
Вопрос: Напишите кот программы пажалуйста.
Добавлено: 22.09.09 23:07
Автор вопроса:
Winand | Web-сайт:
Smith, смотри)
скриншот:
http://img182.imageshack.us/img182/9270/audica4d5.jpg
http://open.winand.operaunite.com/file_sharing_1/content/audica_4d5.png
сорс и бин:
http://slil.ru/28007194
http://open.winand.operaunite.com/file_sharing_1/content/audica_4d5.png?download=true
собственно почти закончен ласт.фм, только не сохраняет пока в файл кэш прослушанных треков - в случае если сервак не отвечает, нужно кэшировать и отправлять в другой раз.
Ну и многострадальная, со спорами дотнет VS архобейсик, передача треков из одной инстанции в другую.
Ответы
Всего ответов: 23
Номер ответа: 1
Автор ответа: Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #1
Добавлено: 23.09.09 00:37
Классно, а пусть окошки прилипают друг к другу)
Номер ответа: 2
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 23.09.09 22:40
при таком интерфейсе, прилипание - это роскошь) Мне сейчас нужно фоновое чтение тегов восстановить из пепла. Грузим тыщу треков в плейлист, зачем время терять, пущай теги в фоне читаются) Еще нужно поработать над поддержкой юникодных имен файлов и папок, что важнее.
кстати во второй ссылке на юнайт ошипся http://open.winand.operaunite.com/file_sharing_1/content/prj_audica_4_dev_5.zip?download=true Это не важно, но всё же)
Номер ответа: 3
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #3
Добавлено: 24.09.09 00:57
Офигеть. Такой метод передачи данных как WM_COPYDATA оказался очень дырявым)
Оптимизация кода сыграла с ним злую.. злость. Теперь, когда не выполняется куча лишнего кода, а сразу отправляется команда в первую инстанцию приложения, получается так, что инстансы мешают друг другу и не все сообщения ддоходят. Я-то думал там какая-то очередь или типа того. Выделяю 10 треков в проводнике, жму Ентеръ и добавляются в плеер только 4-6, при том всегда разные)
Это проблема. Скорее всего нужна некая обратная связь + повтор запроса, если предыдущий не был принят. Или же соблюдение инстансами очередности
Номер ответа: 4
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #4
Добавлено: 24.09.09 01:11
Как всегда, простых путей не ищешь
Номер ответа: 5
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #5
Добавлено: 24.09.09 01:15
Smith, укажи мне простой путь! я проследую по нему. Тут нужен какой-то такой SendMessage, который бы ожидал ответа на своё сообщение. SendMessageTimeout вроде бы не помогает
Номер ответа: 6
Автор ответа: Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #6
Добавлено: 24.09.09 01:17
юзай VirtualAlloxEx, записывай список в целевой процесс, потом отсылай сообщение окну целевого процесса с указанием адреса, куда записал список треков (тот адрес, который VirtualAllocEx дал). Ну и не забывай про VirtualFree. Будет работать безбажно.
Номер ответа: 7
Автор ответа: Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #7
Добавлено: 24.09.09 01:19
ну или на худой конец делай именованный маппинг, тогда можно обойтись без OpenProcess. Но строк будет побольше для подготовки.
Номер ответа: 8
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #8
Добавлено: 24.09.09 01:24
UPD: >The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message.
По идее такой ситуации как у меня быть не может в принципе)
Номер ответа: 9
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #9
Добавлено: 24.09.09 01:34
Вот, уже теплее.
Щас сварганю вариант.
Номер ответа: 10
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #10
Добавлено: 24.09.09 02:05
Блин, опять какойто офигенски глюк, сотню раз испытанные вещи не работают, просто молчат как партизаны
Номер ответа: 11
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #11
Добавлено: 24.09.09 02:27
Разве такое не должно работать?
При том у меня GetWindowLong почему-то ноль возвращает. В wnd хендл того окна для которого я переназначал процедуру обработки сообщений
Номер ответа: 12
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #12
Добавлено: 24.09.09 02:27
Winаnd не спи, замерзнешь
, щас всё с нуля настучу, подожди.
Номер ответа: 13
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #13
Добавлено: 24.09.09 03:06
Ах ты ж! Прошу прощения у всех за панику. Я признаюсь - я идиот. Получилось вот что:
Номер ответа: 14
Автор ответа: Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #14
Добавлено: 24.09.09 03:21
Вот блин жук, я чё зря карпел?
.
Хоть убейся винда не дает открыть больше 15 файлов, пункт Открыть пропадает если выделить больше, признавайся, как ты семерку развратил на такое?
Номер ответа: 15
Автор ответа: Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #15
Добавлено: 24.09.09 03:30
Эм, ну вообще-то у меня тоже больше 15 нельзя. Что ооочень хорошо) Потому что каждый добавляемый так файл запускается. Если добавляется еще один, то предыдущий закрываем, открываем новый. И так до 15 раз
Ну а что ты там накарпел?)