problem z call lbry function
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
problem z call lbry function
Witam
Problem jest z bloczkiem "call library function". Używam biblioteki user32.dll z windowsa, a dokładniej funkcji "GetCursorPos". Wszystko działa bez zarzutu, EXEc też, tyle ze przy zamykaniu aplikacji pojawia się taki błąd (img2) a potem standardowy komunikat windowsa (że aplikacja umarła i takie tam). Gdy usunę ten bloczek i zbuduję aplikację błąd się nie pojawia.
Udało mi się zrobić to samo bez użycia tego bloczka i wszystko działa, ale mimo wszystko przydałoby się wiedzieć skąd taki błąd się bierze, albo co zrobiłem źle ;)
Używam LV 8.5.
Problem jest z bloczkiem "call library function". Używam biblioteki user32.dll z windowsa, a dokładniej funkcji "GetCursorPos". Wszystko działa bez zarzutu, EXEc też, tyle ze przy zamykaniu aplikacji pojawia się taki błąd (img2) a potem standardowy komunikat windowsa (że aplikacja umarła i takie tam). Gdy usunę ten bloczek i zbuduję aplikację błąd się nie pojawia.
Udało mi się zrobić to samo bez użycia tego bloczka i wszystko działa, ale mimo wszystko przydałoby się wiedzieć skąd taki błąd się bierze, albo co zrobiłem źle ;)
Używam LV 8.5.
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
problem z call lbry function
Próbowałeś skonfigurować bloczek jako reentrant zamiatst "run in UI thread"?
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: problem z call lbry function
nie pomogłovugie pisze:Próbowałeś skonfigurować bloczek jako reentrant zamiatst "run in UI thread"?
-
- Posty: 12
- Rejestracja: 24 lip 2007 00:00
problem z call lbry function
A jak skonfigurowałeś wywołanie funkcji. Tzn. daj screena z widokiem argumetnow dll (najlepiej po jednym scr dla każdego).
Zbyszek
-
- Posty: 12
- Rejestracja: 24 lip 2007 00:00
problem z call lbry function
Podejrzewam że użyłeś konwersji wywołania funkcji "C", zamiast stdcall (WINAPI co by nie było to funkcja winapi). Dla bezpieczeństwa dodałbym jeszcze minimalny rozmiar dla tablicy = 2, gdyż:
typedef struct tagPOINT {
LONG x;
LONG y;
} POINT, *PPOINT;
Nie trzeba tworzyć tablicy na wejściu, gdyż Labview jeśli tak zadeklarujemy wywołanie zrobi to tak czy tak.
typedef struct tagPOINT {
LONG x;
LONG y;
} POINT, *PPOINT;
Nie trzeba tworzyć tablicy na wejściu, gdyż Labview jeśli tak zadeklarujemy wywołanie zrobi to tak czy tak.
Zbyszek
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: problem z call lbry function
stdcall było zaznaczone...ZbychoZbych pisze:Podejrzewam że użyłeś konwersji wywołania funkcji "C", zamiast stdcall (...)
Zbychu a możesz spróbować zrobić u siebie przykładową aplikację z tym bloczkiem (z tą konkretną funkcją)? Co by wyświetlała tylko dane z bloczka . U mnie nawet to "zdycha"...
-
- Posty: 12
- Rejestracja: 24 lip 2007 00:00
-
- Posty: 12
- Rejestracja: 24 lip 2007 00:00
- Koza
- Administrator
- Posty: 152
- Rejestracja: 20 gru 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Olsztyn
Re: problem z call lbry function
Dorzuce też swoją działającą wersje.
Pozdrawiam,
Koza
Pozdrawiam,
Koza