Использование библиотеки ufmod в проектах на C#

Тема в разделе "WASM.BEGINNERS", создана пользователем Pavlik_12_let, 24 сен 2008.

  1. Pavlik_12_let

    Pavlik_12_let New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2008
    Сообщения:
    7
    Общий вопрос такой: как нужно использовать ufmod.dll в проектах на C# в Visual Studio 2005?
    Я пытался использовать ее так:

    1) к длл библиотеке прилагается пример использования на C#. Объясните пожалуйста, что такое netmodule и с чем его едят? В примере 1 файл с кодом - test.cs. А как быть если файлов несколько. Вижиал Студия создает целую кучку файлов в проекте. При компиляции их в netmodule я должен указывать только cs-файлы или какие-нибудь еще? Я создал новый проект; на форму кинул кнопку; в кнопке написал, как в примере uFMOD.I_uFMOD.PlayRes(1, 0); далее с помощью батника из примера скомпилировал в netmodule все свои cs-файлы. Теперь надо слинковать i_ufmod.netmodule, i_ufmod.obj и ufmod.obj из примера с моим скомпилированным netmodule. И вот тут link вываливает ошибку:
    "LINK : error LNK2001: unresolved external symbol _Program.Main
    i_ufmod.exe : fatal error LNK1120: 1 unresolved externals"
    Что не так? На каком масле это жарить?

    2) в догонку пробовал импортировать функцию uFMOD_PlaySong:
    [DllImport("ufmod.dll")] public static extern int uFMOD_PlaySong(string filename, int flag);
    uFMOD_PlaySong("C:\\1.xm", 2);

    На вызове функции вываливается эксепшон:

    "A call to PInvoke function 'WindowsApplication2!WindowsApplication2.Form1::uFMOD_PlaySong' has unbalanced the
    stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check
    that the calling convention and parameters of the PInvoke signature match the target unmanaged signature."

    Версии:
    Microsoft Visual Studio 2005 v8
    .NET Framework v2.0.50727
    ufmod-1.25.2a-win32

    Ну и еще, есть ли альтернативы у ufmod? Чем еще можно воспроизвести xm?