problem z call lbry function

Tematyka związana z Aplication Builderem oraz tworzeniem wersji exe programów w LabVIEW. Problemy związane z instalatorem programów oraz ich zabezpieczaniem.
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

problem z call lbry function

Post autor: Pitol »

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.
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

problem z call lbry function

Post autor: vugie »

Próbowałeś skonfigurować bloczek jako reentrant zamiatst "run in UI thread"?
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: problem z call lbry function

Post autor: Pitol »

vugie pisze:Próbowałeś skonfigurować bloczek jako reentrant zamiatst "run in UI thread"?
nie pomogło
ZbychoZbych
Posty: 12
Rejestracja: 24 lip 2007 00:00

problem z call lbry function

Post autor: ZbychoZbych »

A jak skonfigurowałeś wywołanie funkcji. Tzn. daj screena z widokiem argumetnow dll (najlepiej po jednym scr dla każdego).
Zbyszek
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: problem z call lbry function

Post autor: Pitol »

...
ZbychoZbych
Posty: 12
Rejestracja: 24 lip 2007 00:00

problem z call lbry function

Post autor: ZbychoZbych »

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.
Zbyszek
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: problem z call lbry function

Post autor: Pitol »

ZbychoZbych pisze:Podejrzewam że użyłeś konwersji wywołania funkcji "C", zamiast stdcall (...)
stdcall było zaznaczone...
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 Obrazek. U mnie nawet to "zdycha"...
ZbychoZbych
Posty: 12
Rejestracja: 24 lip 2007 00:00

problem z call lbry function

Post autor: ZbychoZbych »

No właśnie u mnie działa. Podeśle dzis wieczorem.
Zbyszek
ZbychoZbych
Posty: 12
Rejestracja: 24 lip 2007 00:00

Re: problem z call lbry function

Post autor: ZbychoZbych »

Plik zawiera dzialajace wywolanie
Zbyszek
Awatar użytkownika
Koza
Administrator
Posty: 152
Rejestracja: 20 gru 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Olsztyn

Re: problem z call lbry function

Post autor: Koza »

Dorzuce też swoją działającą wersje.

Pozdrawiam,
Koza
ODPOWIEDZ