|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.07.2011, 19:58 | #1 |
Новичок
Джуниор
Регистрация: 23.07.2011
Сообщений: 8
|
Delphi и Winamp - в плагине некорректно передаются строки
Здравствуйте. пишу input-плагин к Winamp и столкнулся со следующей проблемой - необходимо передать 2 строки: description - описание плагина и FileExtensions - расширение файлов, которые обрабатываются плагином. заметил, что плагин не срабатывает на заявленное расширение, заглянул в список плагинов в Winamp и увидел, что из строки передался только первый символ.
строка описания имеет тип PChar description: PChar; изощрялся всеми методами, которые знал - и напрямую присваивал стринг, и через приведение типов, и создавал переменную типа PChar, выделял ей память, заполнял, но безуспешно: из методов плагина значение переменной desctiption видно полностью, а в самом винампе - только первый символ. соответственно, я сделал вывод, что файлы моего типа не обрабатываются плагином, потому что строка не передалась корректно. подскажите, пожалуйста, в чем может быть дело? спасибо |
23.07.2011, 20:11 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вы кодировку то учли?
раньше String=AnsiString, а сейчас то String=UnicodeString. соответственно вам наверно надо PAnsiChar?(PAnsiChar(AnsiString(str ))) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.07.2011, 00:00 | #3 |
Новичок
Джуниор
Регистрация: 23.07.2011
Сообщений: 8
|
очень Вам благодарен - я полдня убил на шаманство по этой проблеме. подскажите, пожалуйста, а то, что мне Winamp отдает (в шаблоне плагина - тип Pchar) - это тоже нужно обрабатывать как PAnsiChar? когда я так делаю, то получаю пустой результат, а когда работаю с ним как с PChar, то один символ, причем всегда одинаковый
|
24.07.2011, 01:38 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
надо как PAnsiChar, а работаете то с этим типом верно?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.07.2011, 11:03 | #5 |
Новичок
Джуниор
Регистрация: 23.07.2011
Сообщений: 8
|
пытаюсь преобразовываю в AnsiString, но получаю пустоту.
function Play_(fn: PAnsiChar): integer; var p: AnsiString; begin p := AnsiString(fn); ShowMessage(p); // получаю пустую строку Result := 0; end; перепробовал много преобразований, некоторые по информации из интернета, некоторые наобум, но добивался только одного из трех результатов - пустая строка, один символ (всегда одинаковый - А), вылет винампа |
25.07.2011, 14:07 | #6 |
Новичок
Джуниор
Регистрация: 23.07.2011
Сообщений: 8
|
Пепел Феникса
подскажите, пожалуйста, правильно ли я выполняю преобразование? |
25.07.2011, 19:00 | #7 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
Код:
там тоже PAnsiChar, писал на Delphi XE |
25.07.2011, 19:32 | #8 |
Новичок
Джуниор
Регистрация: 23.07.2011
Сообщений: 8
|
ZuBy
благодарю, с этим Феникс помог разобраться. проблема теперь в интерпретации того, что дает Винамп. он должен бы отдать имя файла в функции Play - аргумент fn, но я не могу понять, что ко мне приходит и в каком формате |
25.07.2011, 19:55 | #9 |
Просто хороший
Форумчанин
Регистрация: 26.03.2010
Сообщений: 562
|
мне кажется у тебя неправильная функция, или она дает неправильный код.. так сказал винни-пух.
Вроде число дать должно
Помог, нажми весы слева
|
25.07.2011, 20:03 | #10 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
покажи как ты передаешь данные в функцию Play
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как в дефли в функцию передаются объекты (классы) | TwiX | Общие вопросы Delphi | 5 | 13.12.2010 23:17 |
Плавающее окно Winamp | KWN, lnc | Мультимедиа в Delphi | 9 | 20.11.2010 17:53 |
PHP и winamp | Zazu | PHP | 16 | 25.08.2010 22:56 |
Прога некорректно работает Delphi | Morraks91 | Помощь студентам | 8 | 19.05.2010 18:16 |
тест на php+mysql. не передаются значения переменных | Liana4271 | Помощь студентам | 2 | 14.06.2009 01:28 |