Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Borland C++Builder]Includere dll nel .exe

    Ciao...

    questa domanda me la sono posta un migliaio di volte, ma non ne sono mai venuto a capo. In più, non essendo una cosa su cui possa sorvolare, ho deciso di chiedere a voi:

    Dopo aver creato un progetto, buildato e tutto, viene finalmente creato il Progetto.exe . Questo file funziona ottimamente su tutte le macchine in cui è installato un prodotto della Borland. Nelle altre, invece, l'unico modo per far funzionare il programma è inserire nella stessa cartella dell'exe anche 2 dll(BORLNDMM.DLL CC3250MT.DLL) e una altro file (VCL50.BPL).

    Purtroppo però, stupidamente, a volte mi dimentico di aggiungerli e, dopo aver distribuito il programma devo mandare questi 3 file a tutti coloro che non hanno prodotti Borland. :

    Il punto è questo: come posso far sì che l'eseguibile non abbia bisogno di queste dll??? Che stringa devo aggiungere all'inizio di ogni programma??

    Grazie mille


    Ciao

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    In generale, se modifichi le impostazioni di progetto affinchè l'applicazione non faccia uso dei runtime package, non hai bisogno di distribuire alcuna DLL di qualsiasi tipo con il tuo file eseguibile, ovviamente escludendo il caso in cui tu non faccia uso di librerie esterne per l'accesso ai dati oppure prodotti di terze parti che vengono fornite senza sorgente (o unit semicompilate) e che quindi ti constringono a fare il deploy di tali librerie e componenti, includendo anche tutte le librerie aggiuntive dalle quali essi dipendono.

    Inoltre, controlla di non fare uso di librerie esterne (DLL) create da te o da altri che facciano uso del memory manager di Borland, che va quindi distribuito attraverso la libreria BORLANDMM.DLL.

    In definitiva, non c'è un modo per incorporare le librerie citate al tuo eseguibile; si può solo evitare di farne un uso esterno (per cui vale la prima parte della mia risposta), ma a volte non è possibile poichè potrebbero venir utilizzati prodotti di terze parti che richiedono forzatamente tali librerie, quindi l'unica soluzione è quella di costruire un bel programma di installazione, ad esempio con Inno Setup, che sia in grado di copiare tutti i file necessari sulla macchina del cliente.

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

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

  3. #3
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    io per evitare di dare le dll faccio così:

    project - options - package - togli il segno di spunta in "Build with runtime package"

    project - options - Linker - togli il segno di spunta in "use dynamic library"

    così mi funziona
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  4. #4
    Grazie infinite ad entrambi.

    Esaurienti e precisi! Non so come farei senza di voi

    Ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.