Mikle
Поэтому dx8vb.dll нужно регистрировать и распространять. А так можно на Vb6 сделать DLL которая просто будет создавать объект и возвращать его. Но что-то не думаю что в шарпе нельзя API функцию вызвать.
the trick
> Поэтому dx8vb.dll нужно регистрировать и распространять.
Распространять - это, возможно, только из-за d3dx, надо будет попробовать, сработает ли программа, скомпилированная без использования d3dx, при отсутствии dx8vb.dll.
the trick
> Но что-то не думаю что в шарпе нельзя API функцию вызвать.
Не то, чтобы нельзя. Через аналог Declare вызывается без проблем, вопрос в том, что её в твоей tlb почему-то не видно.
Я посмотрел с помощью Exescope, Direct3DCreate9() - это действительно обычная API-подобная функция, тогда я её объявил соответственно:
[System.Runtime.InteropServices.DllImport("d3d9", EntryPoint = "Direct3DCreate9")]
private extern static IDirect3D9 Direct3DCreate9(uint SDKVersion);И d3d9 на шарпе заработал, остальное без проблем работает из tlb.
Тема в архиве.