Forum > Databases

[Risolto] Zeos lib su lazarus/delphi

<< < (4/4)

DragoRosso:

--- Citazione da: superc - Dicembre 14, 2022, 11:05:10 am ---ho fatto una controprova, scaricando dal sito di sqlite le dll precompilate a 32bit e a 64 bit, mi sono collegato conm il db prima con la dll a 32 bit e tutto è andato bene mentre a 64 bit ottengo lo stesso errore della foto allegata; se tanto mi da tanto ho sbagliato qualcosa nell'installazione a 64 bit.

Comunque il link che parla di questo problema è
https://blogs.embarcadero.com/rad-studio-11-2-alexandria-patch-1-available/
magari può servire a qualcuno.

--- Termina citazione ---

Ciao, mi scuso per non aver linkato io per primo il riferimento alla patch visto che ne avevo accennato.

Comunque, da quello che vedo stai ancora usando l'IDE a design time ?
Per la connessione a designtime l'IDE fà uso di risorse a 32 bit, indifferentemente dal fatto che il progetto sia a 32 o 64 bit.

L'unica prova che puoi fare a 64 bit è compilare il progetto e "lanciarlo" (anche debugandolo eventualemente).

Le dll che consentono all'IDE l'accesso al database devono essere disponibili all'IDE stesso (quindi o nella cartella BIN dell'IDE o nelle PATH di sistema) e devono essere a 32 bit.

Non ho presente se l'IDE può fare accesso alle DLL presenti nelle cartelle del progetto aperto (ma non penso).

Se nel componente di connessione (ZConnection ad esempio) si può specificare una DLL per quel tipo di DB, allora a designtime deve essere indicato una DLL a 32 bit (se si vuole aprire nell'IDE il DB). Poi a runtime andrai a cambiare il puntamento alla DLL.

Se non sbaglio, prova a cercare PostgreSQL nel forum, c'è stata poco tempo fà una discussione sulla connessione.

Ciao

superc:
Ciao DragoRosso,

ho installato la patch, ho correttamente settato le path per l'ambiente a 64 bit, ho compilato sia a 32 che a 64bit le zeos (7.2.14) infatti nella directory Dcp di embarcadero crea i file dcp a 64 bit... L'ide a 32 bit funziona correttamente ora e quello che mi dici te torna perche se setto l'eseguibile a 64 bit, e lascio in LibraryLocation la path delle librerie a 32bit mi apre le query, tuttavia se lo lancio mi da errore perche vuole le lib a 64,  giustamente; se setto l'ambiente a 64 bit e metto le library a 64 bit mi rida lo stesso errore 'Check compile-target and library compatibility' ..... A questo punto saranno le dll a 64 bit che non vanno bene oppure magari qualcuna di queste vuole una dipendenza, tipo un'altra dll, che non trova... Sta diventando una questione di principio

superc:
Ciao a tutti,

ho risolto, ora funziona tutto: ho inserito le dll a 32 bit nella directory dell'eseguibile generato a 32 bit e lo stesso per quello a 64 bit senza settare la libraryLocation e ora funziona;

ringrazio tutti nuovamente.

Navigazione

[0] Indice dei post

[*] Pagina precedente

Vai alla versione completa