Filedialog con access runtime

di rpk il
14 risposte
Ciao a tutti ho un problema da cui non riesco a saltarci fuori
ho realizzato un applicativo access che utilizza filedialog x la selezione dei file
l'applicartivo gira tranquillamente su macchine dove ho installato office 32 bit o a 64
Se invece lo porto su un altra dove ho installato il runtime a 64 bit l'applicativo senza dare alcuna segnalazione si chiude.
Ci sto impazzendo da un po di tempo ma non riesco a capireci nulla
c'è qualcuno che potrebbe darmi un idea di cosa potrebbe essere dovuto?

14 Risposte

  • Posta il codice... immagino tu abbia referenziato la LIB di Office...? Da evitare ovviamente...
  • rpk ha scritto:


    ...ho realizzato un applicativo access che utilizza filedialog x la selezione dei file ... office 32 bit o a 64
    ...ho installato il runtime a 64 bit l'applicativo senza dare alcuna segnalazione si chiude.
    Per quanto ne so io con il runtime FileDialog non si può usare e bisogna tornare al sistema che si usava fino ad Access 2000, cioè l'uso di API. Qui ne trovi un esempio: ma basta cercare "File Open/Save dialog vba api" su internet e ti si apre il mondo, come ad esempio anche questo: .
    Occhio che il codice è diverso a seconda dei 32 o 64 bit proprio nell'uso di API e sarai immagino obbligato ad usare la compilazione condizionale.
  • Philcattivocarattere ha scritto:


    rpk ha scritto:


    ...ho realizzato un applicativo access che utilizza filedialog x la selezione dei file ... office 32 bit o a 64
    ...ho installato il runtime a 64 bit l'applicativo senza dare alcuna segnalazione si chiude.
    Per quanto ne so io con il runtime FileDialog non si può usare e bisogna tornare al sistema che si usava fino ad Access 2000, cioè l'uso di API. Qui ne trovi un esempio: ma basta cercare "File Open/Save dialog vba api" su internet e ti si apre il mondo, come ad esempio anche questo: .
    Occhio che il codice è diverso a seconda dei 32 o 64 bit proprio nell'uso di API e sarai immagino obbligato ad usare la compilazione condizionale.
    Non è così, spiego meglio.
    Se viene installato SOLO il Runtime la tua osservazione è corretta.
    Se nel PC è installata la suite di Office, invece si può usare.
    Il pacchetto standard di Office non prevedeva Access, quindi a cura dello sviluppatore conoscere le condizioni di installazione e decidere se usare le API o il FileDialog.
  • Non sapendo in anticipo se sulle macchine c'è il pacchetto standard office oppure nulla quindi mi consigliate di utilizzare sempre le API invece che filedialog?
  • @Alex ha scritto:


    ...
    Se nel PC è installata la suite di Office, invece si può usare.
    ..
    Come?
  • In che senso come...?
    File Dialog usa la LIB OFFICE... basta usarla...
    Il problema nasce se NON hai Office installato.
  • Infatti Alex se uno non ha office non posso obbligarlo ad installarlo ...perciò vorrei trovare un modo per fare si che funzioni in ogni condizione di macchina
  • Ovviamente devi consapevolmente considerare la situazione, era per precisare che non è Corretto RUNTIME = NO FILEDIALOG, ma NO OFFICE = NO FILEDIALOG.

    In ogni caso in rete trovi tons di codice:
    https://learn.microsoft.com/it-it/office/troubleshoot/access/use-common-dialog-api

    Attenzione al PTRSAFE ed al 64Bit...!!!

    Questo dovrebbe essere completo:
    https://learn.microsoft.com/en-us/answers/questions/589853/update-file-dialog-code-to-work-with-32-bit-and-64.html
  • @Alex ha scritto:


    ...non è Corretto RUNTIME = NO FILEDIALOG, ma NO OFFICE = NO FILEDIALOG....
    Confermo quindi ritiro quanto ho scritto nel mio primo intervento. Devo scegliere spacciatori di informazioni più affidabili.
  • Grazie infinite ... procedo con la prova
  • Perosnalmente mi sono rivolto a Chilkat e ho risolto qualsiasi problema dovuto al RunTime.
    Facilitando anche di molto il codice e senza usare API
  • Chicco550 ha scritto:


    Perosnalmente mi sono rivolto a Chilkat e ho risolto qualsiasi problema dovuto al RunTime.
    Facilitando anche di molto il codice e senza usare API
    Sono scelte su cui riflettere bene... perchè ti leghi ad un prodotto di Terze parti con tutti i risvolti del caso come la registrazione(fattibile solo con i privilegi di admin), non gratis per tutte le sue parti ad oggi alcune si domani... non si sa,... e come insegna la storia non è sempre una scelta vincente.

    Le API e la gestione corretta degli elementi nativi, pur con qualche complicazione rende il prodotto sicuramente meno dipendente, poi come dicevo serve analizzare un poco tutti i fattori.

    Ognuno poi decide di legarsi a quello che valuta meno problematico.
  • Sinceramente sono 15 Anni che uso le chilkat. La licenza non costa molto, sopra tutto se pensi di fare un prodotto commerciale. Io mi sono sempre trovato bene, Assistenza (Quando ne ho avuto bisogno) favolosa, e licenza a vita.

    Tra l'altro ampia le possibilità del vba e non solo di parecchio.
    Dovessi fare un'altra volta la scelta la fare i ancora e ancora.
  • Chicco550 ha scritto:


    ... Chilkat e ho risolto qualsiasi problema dovuto al RunTime.
    Ho guardato la documentazione che c'è sul sito del prodotto nonché la classica ricerca su internet e non ho trovato nulla che ne parlasse. Potresti darmi qualche riferimento sui comandi che si usano per il simil FileDialog?
Devi accedere o registrarti per scrivere nel forum
14 risposte