.NET Controller (wrapper) w Labwindows

0

Witam
Z góry przyznam sie iz nie mam doświadczenia w poniższej materii stąd pytanie do forum

A wiec, mam sprzęt Audio Precision APX515 ( analizator audio) do którego producent dołącza bibliotekę DLL(.net) z wszystkimi funkcjami jakie dany sprzęt może realizować. Biblioteka zawiera kilkanaście klas
dwie strukury
kilkadziesiat inteface
itd
plik info APx500_API_PRG.chm do pobrania z internetu ( niestety nie moge zamieszczac linkow )
Srodowisko w ktorym chcialbym uzywac tego sprzętu to Labwindows/CVI
Labwindows umożliwia automatyczne z tworzenie wrapper-a tzw .Net Conrtoller który automatycznie generuje potrzebne pliki *.h *.c *.fp ( pliki są spakowane -audio prec.zip )

teraz sendo problemu
Labwindows stworzyl wrapper gdzie do glownych class jest zdefiniowany "Type Constructor" który inicjalizuje klase i mam do niej dostęp, problem zaczyna sie gdy chce dostac sie do interfejsu
np.

int CVIFUNC AudioPrecision_API_ISetSwitcherConfigurationStep_Get_Enabled(
	AudioPrecision_API_ISetSwitcherConfigurationStep __instance,
	int * __returnValue,
	CDotNetHandle * __exception)

gdzie musze podac __instance zdefiniowane jako AudioPrecision_API_ISetSwitcherConfigurationStep

jak zainiciowac handle do tego interfejsu ?

mam nadzieje ze opisalem moj problem w miarę przejrzyście jednak jesli bylyby jakies watpliwosci prosze napisac

za wszelkie sugestje z gory dzieki

0

jak zainiciowac handle do tego interfejsu ?

a jak byś to zrobił w C#?

W dokumentacji jest ten interfejs opisany, ale nie widzę skąd miałoby się pobierać obiekt.
Potrzebny jest jakiś działający przykład.

0

W zalaczniku przyklady C# 2013 oraz przykład wykorzystania .Net controler w CVI, ale ni jak nie moge odnalezc jak w CV inicjuje sie dostep do interfejsu w DLL

C#

private void ButtonOutputSwitcher_Click(object sender, EventArgs e)
		{
			try
			{
				// Activate Signal Path Setup
				APx.ShowMeasurement("Signal Path1", "Signal Path Setup");

				// Turn on support for output switchers
				APx.SignalPathSetup.UseOutputSwitcher = true;

				// get the switcher address
				SwitcherAddress address = (SwitcherAddress)NumericUpDownOutputChannel.Value;

				// get the Channel A selection
				SwitcherChannelSelection channelA = (SwitcherChannelSelection)ComboBoxOutputChannelA.SelectedIndex;
				// set the Channel A selection
				APx.SignalPathSetup.OutputSwitcherConfiguration.SetChannelA(address, channelA);

				// get the Channel B selection
				OutputSwitcherChannelBSelection channelB = (OutputSwitcherChannelBSelection)ComboBoxOutputChannelB.SelectedIndex;
				// Set the Channel B selection
				APx.SignalPathSetup.OutputSwitcherConfiguration.SetChannelB(address, channelB);
			}

1 użytkowników online, w tym zalogowanych: 0, gości: 1