Visualizzazione dei risultati da 1 a 10 su 10

Discussione: C++ Builder 6

  1. #1

    C++ Builder 6

    Ciao a tutti sono nuovo del c++ e non ho ancora capito bene molte cose, ma quella che mi preme di più ora è la seguente:
    ho realizzato un piccolo prog. usando database e el mio pc funge bene, ma quando trasporto il file exe in un'altro pc mi da errore manca vcl.bpl e altri file sempre bpl.
    vorrei sapere dove sbaglio.
    grazie mille in anticipo

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    [C++Builder] Build with runtime packages

    Io utilizzo Delphi, ma le somiglianze con C++Builder, linguaggio a parte, sono molte.

    I file BPL sono Borland Package Library e contengono la forma compilata dei componenti che vedi installati all'interno dell'IDE.

    Quando compili le tue applicazioni, hai la possibilità di includere il codice sorgente dei componenti utilizzati nel file eseguibile (che diviene un vero e proprio "standalone") oppure di fare in modo che il tuo eseguibile si colleghi dinamicamente ai file BPL che contengono il codice binario dei componenti utilizzati.

    Al momento, tu stai compilando facendo uso dei runtime package, cioè dei file BPL. Per modificare questa impostazione, devi aprire la finestra di dialogo delle Opzioni di progetto ([Project|Options]) e ricercare la voce Build with runtime packages (scheda "Packages"?) e rimuovere il segno di spunta da tale voce. Il codice sorgente - scritto da Borland - viene così incluso direttamente nell'eseguibile che diviene una scatola monolitica contenente tutto il necessario per funzionare, sebbene le sue dimensioni aumentino di conseguenza rispetto alla versione compilata con i runtime package, più leggera e ridotta, ma che necessità dei file BPL "incriminati" per funzionare.

    Spero di averti chiarito le idee.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ho avuto anchio gli sesi problemi..

    In poche parole il programma che fai con borland usa delle liberie (le VLC) che sono dinamiche e i Package (I BPL che ha descritto alka)il Linker che compila include queste librerie, che essendo dinamiche risiedono nel tuo PC sottoforma di DLL e vengono incluse nel tuo programma, (Un modo per vedere che libreire e package usa il tuo programma e il Dump fatto dalla consol DOS).

    Per risolvere il problema devi andare in:

    Project->Options->Linker

    e togli la spunta su 'USE Dinamyc RTL

    poi vai su PackAge E come ti ha detto alka togli la spunta su

    Build with runtime packages

    Cosi vedi subito che il tuo programma dai pochi Kb che occupava si ingrossa anche di diversi Mb, questo a causa dell'inclusione nel tuo programma di tutto quel codice che risideva nelle librerie e nelle DLL..

    Ciao..
    Il linguaggio migliore e quello che ti crei da solo...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da Akira86
    Cosi vedi subito che il tuo programma dai pochi Kb che occupava si ingrossa anche di diversi Mb, questo a causa dell'inclusione nel tuo programma di tutto quel codice che risideva nelle librerie e nelle DLL..
    Parlare di MB mi sembra un po' eccessivo...se il file eseguibile si ingrossa dell'ordine di qualche MegaByte, allora c'è qualcosa che non va.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Originariamente inviato da alka
    Parlare di MB mi sembra un po' eccessivo...se il file eseguibile si ingrossa dell'ordine di qualche MegaByte, allora c'è qualcosa che non va.
    Dipende se ha tanti componenti e di gruppi diversi...

    Poi visto che lavora con i database ci arriverà ad un megabyte..

    Ciauz..
    Il linguaggio migliore e quello che ti crei da solo...

  6. #6

    ulteriore problema

    Volevo prima di tutto ringraziarvi per le risposte che mi avete dato.
    ma purtroppo non ho risolto completamente i miei problemi.
    ovvero quando lancio il programma mi visualizza un'altro errore:
    "an error occurred while attempting to initialize the borland database engine (error 2108)"
    e non so cosa voglia dire.
    Io porto il file exe del programma e il file del database mdb in un'altro pc ma mi da l'errore sopra descritto.

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da Akira86
    Dipende se ha tanti componenti e di gruppi diversi...
    Quei componenti devono essere "in uso" affinchè il compilatore li includa nell'eseguibile...e in genere, puro e semplice codice in quantità non smisurate non fa aumentare sensibilmente le dimensioni dell'eseguibile.

    Originariamente inviato da Akira86
    Poi visto che lavora con i database ci arriverà ad un megabyte..
    Non capisco perchè usare i database dovrebbe significare un aumento di dimensioni dell'eseguibile. :rollo:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Re: ulteriore problema

    Originariamente inviato da artuking
    [...]"an error occurred while attempting to initialize the borland database engine (error 2108)"
    e non so cosa voglia dire.
    Io porto il file exe del programma e il file del database mdb in un'altro pc ma mi da l'errore sopra descritto.
    Hai fatto uso del BDE (Borland Database Engine) per accedere ai dati: si tratta di una piattaforma, ormai obsoleta (finalmente!), di accesso ai dati che richiede l'installazione di alcune librerie sulla macchina nella quale girerà l'applicazione. Dovresti utilizzare il pacchetto InstallShield incluso con C++Builder per creare un setup in grado di installare i file BDE e definire l'alias che consente all'applicazione di instaurare una connessione con il database.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9

    come fare?

    come posso fare per collegarmi al database senza usare BDE in modo che non mi dia più problemi del genere??
    grazie in anticipo......

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Re: come fare?

    Originariamente inviato da artuking
    come posso fare per collegarmi al database senza usare BDE in modo che non mi dia più problemi del genere??
    Non che si possa definire "problema", anzi è normale che utilizzando librerie di terze parti, il sistema richieda che tali librerie siano residenti sulla macchina in cui l'applicazione che le utilizza viene eseguita.

    Se non vuoi appoggiarti al BDE, puoi utilizzare la piattaforma ADO di Microsoft (dovresti avere una pagina "ADO" nella Palette dei Componenti).

    Si tratta di componenti del tutto equivalenti a quelli del BDE (e non è casuale), ma utilizzando la suddetta piattaforma di accesso ai dati che, nonostante la grandissima somiglianza con il BDE, è più facile che sia già presente sulla macchina del cliente poichè fa parte dei pacchetti di aggiornamento del sistema operativo; precisamente, è parte di MDAC.

    Se vuoi slegarti del tutto da componenti che facciano riferimento a piattaforme di accesso ai dati, devi ricercare package di componenti che abbiano "hard coded" la logica di connessione ad un preciso database.

    Prova a dare un'occhiata su Torry Delphi's Pages, un sito particolarmente ricco per la disponibilità di componenti di terze parti, spesso freeware e con sorgente; guarda nella sezione "VCL".

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.