Thread View: pl.comp.bazy-danych.msaccess
2 messages
2 total messages
Started by Adam
Sat, 05 Nov 2016 10:00
Excel x64 i API
Author: Adam
Date: Sat, 05 Nov 2016 10:00
Date: Sat, 05 Nov 2016 10:00
45 lines
2193 bytes
2193 bytes
Witajcie. Grupa office jest na intensywnej terapii ;) więc piszę tu. Problem: Jest sobie API, aby sobie z zewnątrz "wtykać" dane do aplikacji (program do obsługi firmy). Najprostsze zastosowanie: arkusz kalkulacyjny i dopisywanie nowych towarów, nowych kontrahentów, rejestrów zakupu, itp. Jak jest Excel 32bit, to wszystko ok - działa chyba od Excela 2000 do aktualnych. Ale problem jest z Excelem w wersji 64 bit. Zmieniam deklaracje z "Declare Function" na "Declare PtrSafe Function" - przestają się świecić na czerwono. Teoretycznie powinno wystarczyć - no, może jeszcze takie "udziwnienia", jak zamiast Long to LongLong. Ale pojawia się okienko Microsoft Visual Basic: Run-time error '48': File not found: cdn_api.dll Wspomniana DLL-ka jest, jest w ścieżce w zmiennej %path%, inne programy korzystają z niej prawidłowo. Co jeszcze Microsoft zepsuł w Excelu 64-bit? ;) Na jakichś dziwnych nieco forach (jakieś indyjskie) mignęła mi informacja, że DLL-ki powinny być kompilowane z opcją 32&64 bit i może się uda. Jeszcze coś? Czy po prostu beton - nie da się bo nie i już. Problem o tyle, że w niektórych firmach, których centrala jest poza Polską dostaje się sprzęt z systemem i oprogramowaniem takim, jak ktoś sobie wymyśli (czyli m.in. Office x64) i tego zmienić nie można. -- Pozdrawiam. Adam
Re: Excel x64 i API
Author: Zbigniew Bratko
Date: Sun, 06 Nov 2016 14:56
Date: Sun, 06 Nov 2016 14:56
85 lines
3476 bytes
3476 bytes
W dniu 2016-11-05 o 11:00, Adam pisze: > Witajcie. > > Grupa office jest na intensywnej terapii ;) więc piszę tu. > > Problem: > Jest sobie API, aby sobie z zewnątrz "wtykać" dane do aplikacji (program > do obsługi firmy). > > Najprostsze zastosowanie: arkusz kalkulacyjny i dopisywanie nowych > towarów, nowych kontrahentów, rejestrów zakupu, itp. > > Jak jest Excel 32bit, to wszystko ok - działa chyba od Excela 2000 do > aktualnych. > > Ale problem jest z Excelem w wersji 64 bit. > Zmieniam deklaracje z "Declare Function" na "Declare PtrSafe Function" - > przestają się świecić na czerwono. > Teoretycznie powinno wystarczyć - no, może jeszcze takie "udziwnienia", > jak zamiast Long to LongLong. Nieopatrznie wysłałem na priv, więc tym razem wysyłam na grupę. No ładne udziwnienie Możesz użyć jeszcze bardziej udziwnionego typu LongPtr i ew. stałej kompilacji warunkowej VBA7 lub (i) Win64. To tak jakbyś przesiadając się z daaawnego Windows 16bit na Windows 32bit powiedział, że np. uchwyt, wskaźnik itp. trzeba zadeklarować jako "udziwniony typ" Long, zamiast starego, dobrego typu Integer. > Ale pojawia się okienko Microsoft Visual Basic: > Run-time error '48': > File not found: cdn_api.dll > Wspomniana DLL-ka jest, jest w ścieżce w zmiennej %path%, inne programy > korzystają z niej prawidłowo. A spróbuj skopiować tą dll'kę do folderu C:\Windows\System32. > Co jeszcze Microsoft zepsuł w Excelu 64-bit? ;) Mam podobne odczucia. Co jeszcze Microsoft zepsuł w Accessie 64-bit ? Ja nie mogę załadować biblioteki FreeImage.dll w wer. 64bit. Ani z domyślnego folderu C:\Windows\System32, ani przy użyciu funkcji API LoadLibrary, która zwraca błąd Err.LastDllError = 126 --------------------------- Microsoft Access --------------------------- Nie można odnaleźć określonego modułu. Ale kiedy folderze C:\Windows\System32 podmienię 64-bitową dll-kę, na nieprawidłową (32-bitową), to dll-ka jest znajdowana i dostaję prawidłowy komunikat błędu Err.LastDllError = 193 --------------------------- Microsoft Access --------------------------- %1 nie jest prawidłową aplikacją systemu Win32. No cóż, może dlatego M$ zaleca stosowanie Office 32bit: https://support.office.com/pl-pl/article/Wyb%C3%B3r-64-bitowej-lub-32-bitowej-wersji-pakietu-Office-2016-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261 No i ZONK !!! [...] Być może wina leży po obu stronach M$ oraz autorów dll-ki -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads