Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт функции, FPC WM5 
:(
    Опции темы
vvs777
Дата 16.1.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2008

Репутация: нет
Всего: нет



FPC, ARM, COREDLL.DLL.

Выкурил это
http://social.msdn.microsoft.com/forums/en...7-de8bfe3ada7a/
Написал это
Код
program hello;
{$apptype console}
const
  SND_SYNC            = $0000;  { play synchronously (default) }
  SND_ASYNC           = $0001;  { play asynchronously }
  SND_NODEFAULT       = $0002;  { don't use default sound }
  SND_MEMORY          = $0004;  { lpszSoundName points to a memory file }
  SND_LOOP            = $0008;  { loop the sound until next sndPlaySound }
  SND_NOSTOP          = $0010;  { don't stop any currently playing sound }
  SND_NOWAIT          = $00002000;  { don't wait if the driver is busy }
  SND_ALIAS           = $00010000;  { name is a registry alias }
  SND_ALIAS_ID        = $00110000;  { alias is a predefined ID }
  SND_FILENAME        = $00020000;  { name is file name }
  SND_RESOURCE        = $00040004;  { name is resource name or atom }
  SND_PURGE           = $0040;      { purge non-static events for task }
  SND_APPLICATION     = $0080;      { look for application specific association }

function PlaySound(pszSound: PChar; hmod: HMODULE; fdwSound: DWORD): BOOLean; stdcall; external 'CoreDll.DLL' name 'PlaySound';

var
    f:text;
    s:string;
begin
    assign(f,'tex1.txt');
    rewrite(f);
    writeln(f,'Hello world');
    s:='tst1.wav';
    playsound(@s[1],0, SND_FILENAME);
    //playsound('tst1.wav',0, SND_FILENAME);
    writeln(f,'played');
    close(f);
end.


Получаю это:
Цитата
plwav.exe is not a valid PocketPC application
.
Проблема не в компиляторе, т.к. если закомментировать playsound(... то все запускается и файл пишется.
Вывод: на сайте майкрософта недостоверная инфа и нет такой функции в coredll. Где найти нормальніе описания dll из WM5? Слить их с девайса невозможно, винда их протектит как-то что даже с самого устройства их нельзя скопировать в другую папку...
PM MAIL   Вверх
t_rex
Дата 18.1.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 11.10.2006
Где: Украина, г. Запор ожье

Репутация: 1
Всего: 7



1. Попробоуй вытянуть coredll на комп к себе и посмотреть Dependency Walker'ом, есть ли она там
2. Имя в DLL может быть задекорировано

--------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей
PM MAIL WWW ICQ Skype GTalk   Вверх
vvs777
Дата 20.1.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2008

Репутация: нет
Всего: нет



не вытягивается, залочена.

Кроме того, скачал библиотеку FMOD CE. Вычистил пример, оставил только нужное. На делфи под виндой все работает.
На ФриПасе откомпилил - ошибок не выводит но ничего не играет... и не вылетает...

Придумал еще один изврат. 
CreateOleObject('WMPlayer.OCX');
итп. Опять же на компе работает, при компиляции во фрипас модуль не найден... нет модуля с CreateOleObject()... последняя сборка фрипаскаля...

Это сообщение отредактировал(а) vvs777 - 20.1.2009, 22:10
PM MAIL   Вверх
Alexeis
Дата 20.1.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Код

BOOL WINAPI PlaySoundW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound);

  По идее в CE все функции с W на конце. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
vvs777
Дата 20.1.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.11.2008

Репутация: нет
Всего: нет



скорее всего..
Теперь не вылетает.
добавил параметр SND_SYNC
делает дзынь и все. х3 что творится... и на mp3 тот же дзынь хотя по идее ошибка должна быть...

PM MAIL   Вверх
Alexeis
Дата 20.1.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Значит смотрим секцию экспорта от WM5 Coredll.dll
имеются функции.
 0001E57C  378 03D5 PlaySoundW и 
 0001E4EC  377 06EE sndPlaySoundW

Добавлено через 2 минуты и 24 секунды
Имя файла передается анси строкой?
Должна быть PWideChar

Добавлено через 5 минут и 34 секунды
  В делфях есть функция 
function StringToWideChar(const Source: string; Dest: PWideChar;
  DestSize: Integer): PWideChar;


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.0729 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.