🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
6 messages
6 total messages Started by Phantom Wed, 05 Feb 2020 09:24
Uruchamianie Eksploratora windows
#137675
Author: Phantom
Date: Wed, 05 Feb 2020 09:24
15 lines
1706 bytes
Witam

Mam następującą deklarację do kodów uruchamiających eksplorator:
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
       Alias "GetOpenFileNameA" _
       (pOpenfilename As OPENFILENAME) As Long

Nie było z tym nigdy problemu do ostatniej aktualizacji windowsa 10.
Dostaję komunikat o braku zgodności z wersjami 32/64 bit.

Próbowałem rejestrować dll ale bez powodzenia.
Proszę o pomoc lub przykład jakiegoś innego kodu na wykorzystanie możliwości eksploratora windows.

Pozdrawiam
Tomek
Re: Uruchamianie Eksploratora windows
#137676
Author: BraZby
Date: Fri, 07 Feb 2020 09:31
21 lines
1677 bytes
W dniu 2020-02-05 o 10:24, Phantom pisze:
> Witam
> 
> Mam następującą deklarację do kodów uruchamiających eksplorator:
> Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
>         Alias "GetOpenFileNameA" _
>         (pOpenfilename As OPENFILENAME) As Long
> 
> Nie było z tym nigdy problemu do ostatniej aktualizacji windowsa 10.
> Dostaję komunikat o braku zgodności z wersjami 32/64 bit.
> 
> Próbowałem rejestrować dll ale bez powodzenia.
> Proszę o pomoc lub przykład jakiegoś innego kodu na wykorzystanie możliwości eksploratora windows.

A czy przypadkiem MS Access jest w wersji 64-bitowej?

-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Uruchamianie Eksploratora windows
#137677
Author: BraZby
Date: Fri, 07 Feb 2020 11:15
142 lines
5900 bytes
W dniu 2020-02-07 o 10:31, BraZby pisze:
> W dniu 2020-02-05 o 10:24, Phantom pisze:
>> Witam
>>
>> Mam następującą deklarację do kodów uruchamiających eksplorator:
>> Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
>>         Alias "GetOpenFileNameA" _
>>         (pOpenfilename As OPENFILENAME) As Long
>>
>> Nie było z tym nigdy problemu do ostatniej aktualizacji windowsa 10.
>> Dostaję komunikat o braku zgodności z wersjami 32/64 bit.
>>
>> Próbowałem rejestrować dll ale bez powodzenia.
>> Proszę o pomoc lub przykład jakiegoś innego kodu na wykorzystanie 
>> możliwości eksploratora windows.
> 
> A czy przypadkiem MS Access jest w wersji 64-bitowej?
> 

Odpowiem sam sobie.
Raczej nie. Być może to Access 2010+.
Jeżeli nie, to raczej nie jestem w stanie Ci pomóc, gdyż Win 10 omijam, 
jeśli tylko mogę.


Spróbuj zadeklarować funkcje w poniższy sposób:


#If VBA7 Then
   Private Declare PtrSafe Function GetSaveFileName Lib "comdlg32.dll" _
            Alias "GetSaveFileNameA" _
            (pOpenfilename As OPENFILENAME) As Long
   Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _
          Alias "GetOpenFileNameA" _
          (pOpenfilename As OPENFILENAME) As Long

   Private Type OPENFILENAME
           lStructSize As Long
           hwndOwner As LongPtr
           hInstance As LongPtr
           lpstrFilter As String
           lpstrCustomFilter As String
           nMaxCustFilter As Long
           nFilterIndex As Long
           lpstrFile As String
           nMaxFile As Long
           lpstrFileTitle As String
           nMaxFileTitle As Long
           lpstrInitialDir As String
           lpstrTitle As String
           flags As Long
           nFileOffset As Integer
           nFileExtension As Integer
           lpstrDefExt As String
           lCustData As LongPtr
           lpfnHook As LongPtr
           lpTemplateName As Long
   '#if (_WIN32_WINNT >= 0x0500)
           pvReserved As LongPtr
           dwReserved As Long
           FlagsEx As Long
   '#endif // (_WIN32_WINNT >= 0x0500)
   End Type

#Else
   Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
            Alias "GetSaveFileNameA" _
            (pOpenfilename As OPENFILENAME) As Long
   Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
          Alias "GetOpenFileNameA" _
          (pOpenfilename As OPENFILENAME) As Long

   Private Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As Long
        nMaxCustrFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustrData As Long
        lpfnHook As Long
        lpTemplateName As Long
   End Type
#End If

Private Const OFN_ALLOWMULTISELECT = &H200

'--------------------------------------------------------------------------------------------
' otwiera okno dialogowe " Otwórz plik: " lub " Zapisz jako: " - tylko 
wybór jednego pliku
' zwraca pełną ścieżkę pliku, po anulowaniu wyboru pliku zwraca ciąg 
zerowej długości ""
#If VBA7 Then
Public Function zbDlgSaveOpenFileBis(fSave As Boolean, _
                              Optional hOwner As LongPtr = 0, _
                              Optional sTitle As String = "", _
                              Optional sInitDir As String = "", _
                              Optional sFilter As String = "", _
                              Optional lFilterIndex As Long = 0, _
                              Optional lFlags As Long = 0) As String

#Else
Public Function zbDlgSaveOpenFileBis(fSave As Boolean, _
                              Optional hOwner As Long = 0, _
                              Optional sTitle As String = "", _
                              Optional sInitDir As String = "", _
                              Optional sFilter As String = "", _
                              Optional lFilterIndex As Long = 0, _
                              Optional lFlags As Long = 0) As String
#End If


' Dalej nic nie zmieniaj
'Dim ofn As OPENFILENAME

' itd. itd. .......

Można wyrzucić opcjonalny argument Optional hOwner As Long
i tym samym deklaracja funkcji będzie prostsza, a w funkcji
wpisz:

.hwndOwner = 0 'hOwner

bądź zaremuj powyższą linijkę


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Uruchamianie Eksploratora windows
#137679
Author: Phantom
Date: Fri, 07 Feb 2020 17:24
6 lines
1550 bytes
Dziękuję
Jest runtime 2000.
Sprawdzę w poniedziałek na komputerze z win10.
Sam również omijam ten system szerokim łukiem... dopóki się da.
Pozdrawiam
Tomek
Re: Uruchamianie Eksploratora windows
#137680
Author: BraZby
Date: Sat, 08 Feb 2020 12:02
16 lines
1600 bytes
W dniu 2020-02-07 o 18:24, Phantom pisze:
> Dziękuję
> Jest runtime 2000.
> Sprawdzę w poniedziałek na komputerze z win10.
> Sam również omijam ten system szerokim łukiem... dopóki się da.


Jeśli Access 2000, to raczej nic z tego nie będzie.
Chyba wina leży po stronie Win10.
Obym był złym prorokiem.

-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Uruchamianie Eksploratora windows
#137681
Author: Phantom
Date: Fri, 14 Feb 2020 10:30
2 lines
1444 bytes
Działa, tylko trzeba wyremować to co nie jest dla VB7.
Dzięki.
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