CreateEvent zwraca 0 przy co drugim wywołaniu

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
turbolek
Posty: 8
Rejestracja: 29 lip 2014 11:15
Wersja środowiska: LabVIEW 2010

CreateEvent zwraca 0 przy co drugim wywołaniu

Post autor: turbolek »

Napisałem SubVI, w którym korzystam z funkcji CreateEvent() z biblioteki kernel32.dll . Funkcja działa OK, ale tylko przy nieparzystym z kolei wywołaniu. Za pierwszym razem tworzy event i zwraca Handle do niego, za drugim zwraca zero, za trzecim znowu zwraca niezerowy Handle, za czwartym znowu zero i tak dalej.

Niszczenie Handle za pomocą funkcji CloseHandle() nie pomaga.
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: CreateEvent zwraca 0 przy co drugim wywołaniu

Post autor: PiDi »

Pokaż kod.
Próbowałeś zobaczyć, zgodnie z dokumentacją (http://msdn.microsoft.com/en-us/library ... s.85).aspx), co zwraca GetLastError()?
ObrazekObrazekObrazekObrazek
turbolek
Posty: 8
Rejestracja: 29 lip 2014 11:15
Wersja środowiska: LabVIEW 2010

Re: CreateEvent zwraca 0 przy co drugim wywołaniu

Post autor: turbolek »

GetLastError() zwraca 998, gdy nie działa no i oczywiście 0, gdy działa.

Kod w załączniku (2010).
Załączniki
CreteEvent.vi
(11.87 KiB) Pobrany 249 razy
turbolek
Posty: 8
Rejestracja: 29 lip 2014 11:15
Wersja środowiska: LabVIEW 2010

Re: CreateEvent zwraca 0 przy co drugim wywołaniu

Post autor: turbolek »

Problem rozwiązany. Należało zmienić typy parametrów wejściowych. Załączam poprawiony kod, gdyby ktoś był ciekawy ;)
Załączniki
CreateEvent.vi
(11.87 KiB) Pobrany 239 razy
ODPOWIEDZ