Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Напишите кот программы пажалуйста. Добавлено: 22.09.09 23:07  

Автор вопроса:  Winand | Web-сайт: winandfx.narod.ru
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-сайт: okazani.ru
 Профиль | | #1
Добавлено: 23.09.09 00:37
Классно, а пусть окошки прилипают друг к другу)

Ответить

Номер ответа: 2
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #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-сайт: winandfx.narod.ru
 Профиль | | #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-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 24.09.09 01:15
Smith, укажи мне простой путь! я проследую по нему. Тут нужен какой-то такой SendMessage, который бы ожидал ответа на своё сообщение. SendMessageTimeout вроде бы не помогает

Ответить

Номер ответа: 6
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #6
Добавлено: 24.09.09 01:17
юзай VirtualAlloxEx, записывай список в целевой процесс, потом отсылай сообщение окну целевого процесса с указанием адреса, куда записал список треков (тот адрес, который VirtualAllocEx дал). Ну и не забывай про VirtualFree. Будет работать безбажно.

Ответить

Номер ответа: 7
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #7
Добавлено: 24.09.09 01:19
ну или на худой конец делай именованный маппинг, тогда можно обойтись без OpenProcess. Но строк будет побольше для подготовки.

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #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-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 24.09.09 02:27
Разве такое не должно работать?
  1.     Dim a As Long, b As Long
  2.     a = GetWindowLong(wnd, GWL_WNDPROC)
  3.     b = CallWindowProc(a, wnd, WM_COPYDATA, 3, 3)

При том у меня GetWindowLong почему-то ноль возвращает. В wnd хендл того окна для которого я переназначал процедуру обработки сообщений

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 24.09.09 02:27
Winаnd не спи, замерзнешь :), щас всё с нуля настучу, подожди.

Ответить

Номер ответа: 13
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #13
Добавлено: 24.09.09 03:06
Ах ты ж! Прошу прощения у всех за панику. Я признаюсь - я идиот. Получилось вот что:
  1. wnd = FindWindow(vbNullString, WINDOW_NAME)
  2. If wnd = 0 Then int_becomeServer

а я вместо этого написал
  1. If Not wnd Then int_becomeServer
То есть у меня часть инстанций становилась "серверами", другие же находили их и слали им сообщения вместо первого инстанса. Самое смешное, что в 8ом посте я чистую правду написал)

Ответить

Номер ответа: 14
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #14 Добавлено: 24.09.09 03:21
Вот блин жук, я чё зря карпел? :).
Хоть убейся винда не дает открыть больше 15 файлов, пункт Открыть пропадает если выделить больше, признавайся, как ты семерку развратил на такое?

Ответить

Номер ответа: 15
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #15
Добавлено: 24.09.09 03:30
Эм, ну вообще-то у меня тоже больше 15 нельзя. Что ооочень хорошо) Потому что каждый добавляемый так файл запускается. Если добавляется еще один, то предыдущий закрываем, открываем новый. И так до 15 раз

Ну а что ты там накарпел?)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам