Soweit habe ich es schon mal..
Code:
#region Winamp
if (index == Convert.ToInt32(BASSVISKind.BASSVISKIND_WINAMP))
{
Plugins = BassVis.BASSVIS_GetPlugins((BASSVISKind)cbVisType.SelectedIndex, PluginDir, true);
if (Plugins != null)
{
foreach (BASSVIS_PLUGINS p in Plugins)
{
string name = Path.GetFileName(p.PluginPath);
string path = Path.GetDirectoryName(p.PluginPath);
lstPlugins.Items.Add(name);
pluginPathList.Add(path);
}
lstPlugins.SelectedIndex = 0;
mVisParam.VisHandle = Plugins[lstPlugins.SelectedIndex].PluginHandle;
int NumModule = Plugins[lstPlugins.SelectedIndex].ModuleCount;
string Pluginname = Plugins[lstPlugins.SelectedIndex].PluginName;
if (!(NumModule > 0))
{
return;
}
Descript.Text = Pluginname;
for (int IntI = 0; IntI <= (NumModule - 1); IntI++)
{
VisModules.Items.Add(Plugins[lstPlugins.SelectedIndex].ModuleName);
}
if (NumModule > 0)
{
VisModules.SelectedIndex = 0;
}
if (Stream != 0 && NumModule == 1)
{
cmdStartVis_Click(null, null);
}
}
}
#endregion Winamp
Aber immer noch einen Fehler.
Code:
Plugins = BassVis.BASSVIS_GetPlugins((BASSVISKind)cbVisType.SelectedIndex, PluginDir, true);
Zitat:
An unhandled
exception of type 'System.ExecutionEngineException' occurred in BassVisAPI.Net.dll
Die Ausnahme, die bei einem internen Fehler im Ausführungsmodul der Common Language Runtime ausgelöst wird. Die Klasse kann nicht vererbt werden.
Hatte ein 2Dimensionales Array [,] das war schon mal falsch.
Was soll da falsch sein das die Klasse nicht vererbt wird?
Code:
//BASSVIS_GetPlugins
public static BASSVIS_PLUGINS[] BASSVIS_GetPlugins(BASSVISKind kind, string pluginPath, bool recursive)
{
BASSVIS_PLUGINS[] Plugins = BASSVIS_GetPlugins(kind, pluginPath, recursive ? BASSVIS_FINDFLAGS.BASSVIS_FIND_RECURSIVE : BASSVIS_FINDFLAGS.BASSVIS_FIND_DEFAULT);
if (Plugins != null)
{
return Plugins;
}
return null;
}
[return: MarshalAs(UnmanagedType.SafeArray)]
[DllImport("bass_vis.dll", EntryPoint = "BASSVIS_GetPlugins", CharSet = CharSet.Auto)]
private static extern BASSVIS_PLUGINS[] BASSVIS_GetPlugins(BASSVISKind kind, [In, MarshalAs(UnmanagedType.LPStr)] string pluginPath, BASSVIS_FINDFLAGS recursive);
An der Überladenen Function kann es eigentlich nicht liegen.
Hmm....
gruss