Strona 1 z 1

wywolywanie funkcji z SAPI do Labview

: 08 maja 2007 20:23
autor: wynimkok
Zajmuje sie projektem rozpoznawania mowy z wykorzystaniem narzedzi dostarczonych przez Microsoft. Moim problemem jest to, ze mam odpowiednie funkcje wyeksportowac do Labview w postaci dll.
Plik dll stworzylam, ogolnie funkcje sie eksportuja w wiekszosci tak jak powinny, ale niestety niektore zwracaja inne wyniki niz gdy wywolywalam je w c++.

jest z funkcji ktore eksportuje wywoluje inna funkcje, ktorej deklaracje przedstawiam ponizej:

HRESULT LoadCmdFromResource(
HMODULE hModule,
const WCHAR *pszResourceName,
const WCHAR *pszResourceType,
WORD wLanguage,
SPLOADOPTIONS Options
);

W Visualu funkcja ta zwraca wartosc:
S_OK czyli Function completed successfully.

Po wywolaniu w Labview otrzymuje
E_INVALIDARG czyli Either pszResourceName or pszResourceType is invalid or bad. It may also indicate hModule could not be found. Alternatively, Options is neither SPLO_STATIC nor SPLO_DYNAMIC.

Fragment kodu w c++ wywolujacy funkcje:
hr = g_cpCmdGrammar->LoadCmdFromResource(NULL, MAKEINTRESOURCEW(IDR_SRGRAMMAR2), L"SRGRAMMAR", MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SPLO_DYNAMIC);

W manualu wyczytalam, ze "Your library call can fail when your external code uses identifiers in place of constants." Tak wiec sprobowalam wywolac ta funkcje wpisujac w miejsce identyfikatorow liczby:
hr = g_cpCmdGrammar->LoadCmdFromResource(NULL, MAKEINTRESOURCEW(1000), L"SRGRAMMAR", MAKELANGID(0x00, 0x00), SPLO_DYNAMIC);
efekt niestety byl bez zmian.

Czy kto moze wie, co moze byc powodem zlego dzialania funckji? Bardzo prosze o pomoc, sprawa jest dla mnie bardzo pilna

Re: wywolywanie funkcji z SAPI do Labview

: 11 maja 2007 20:42
autor: wynimkok
widze ze nie bylo chetnych do odpowiedzi na moje pytanie, ale na szczescie udalo mi sie rozwiazac je samej

Re: wywolywanie funkcji z SAPI do Labview

: 11 maja 2007 21:09
autor: bogdani
To poprosimy o podpowiedź, może się komuś przyda :-)

bogdani

Re: wywolywanie funkcji z SAPI do Labview

: 12 maja 2007 11:16
autor: wynimkok
Odpowiedz jest dosc banalna..
nie dzialala mi funkcja ladowania gramatyki z zasobow.. zastapilam ja wiec funckja ladujaca gramatyke z pliku LoadCmdFromFile do ktorego sciezke podalam jeszcze w dll..