🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#137294
Author: Adam
Date: Sat, 05 Nov 2016 10:00
45 lines
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
#137295
Author: Zbigniew Bratko
Date: Sun, 06 Nov 2016 14:56
85 lines
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