Newsgroup: it.comp.programmare
Titolo: Distribuire exe con C++ Builder

Salve,
avrei due domande da porvi:
Quando compilo l'exe č gią pronto per girare su altri pc?
Ad esempio ho notato che su un PC mi richiedeva la dll VCLX35.BPL. Ho
cercato nel mio hard disk e ne ho trovate due: una in CBuilder3\Source\Debug
e l'altra in Windows\System32.
Devo inserire anche questa dll nella cartella dell'exe? Ma quale delle due?
Con Delphi non avevo problemi simili.
Inoltre mi sapreste dire cosa devo settare per rendere le combo box non
editabili?
Non ho trovato la proprietą "Read Only"
Grazie

 editabili?
Imposta la proprietą Style a csDropDownList.
-- 
Stefano Frosio
www.esse-effe.com

> Imposta la proprietà Style a csDropDownList.
Grazie

 Devo inserire anche questa dll nella cartella dell'exe? Ma quale delle due?
No, per avere un exe autosufficiente devi spuntare una casella precisa 
nelle opzioni di compilazione del progetto, una cosa tipo "infila il 
runtime dentro l'EXE" (detto così alla buona: il senso è quello, non 
ricordo la dicitura esatta). In questo modo il file .EXE risultante 
crescerà di circa 200 Kb ma non avrai bisogno di VCLX35.DLL o altro.
Personalmente lo faccio sempre, perchè non ha senso usare una DLL per 
codice che comunque viene caricato _sempre_, e anche se in teoria una 
DLL potrebbe far risparmiare spazio in memoria e su HD, da win2000 in 
poi il SO carica comunque in RAM X copie del codice della stessa DLL per 
X programmi che la chiedono. E per gli HD di oggi 200KB non sono un 
problema...

 X programmi che la chiedono. 
Sei sicuro di questo?!? ...mi sembra molto strano!
E.

?manu* ha scritto:

Sì, era una delle novità di Win2000 per semplificare la vita agli 
sviluppatori, che di solito NON testavano il segmento dati delle DLL 
quando andavano a chiamarle dai loro programmi, ottenendo delle 
magnifiche piantate... con una copia della DLL per ogni processo il 
segmento dati è per forza quello giusto e questi casini non si 
verificano più. E i programmatori possono continuare a scrivere codice 
di merda.

 sviluppatori,
Ma è un vero controsenso! L'invenzione delle DLL è stata (forse) una 
delle poche innovazioni fatte da Microsoft. Se usate in maniera 
sistematica (come ad esempio viene fatto nelle distribuzioni Linux) 
possono fare risparmiare un sacco di memoria, diminuendo in maniera 
significativa l'uso della swap.
E.

 significativa l'uso della swap.
Mi duole deluderti, ma Microsoft non ha inventato niente.
Le librerie a collegamento dinamico sono in uso dagli anni '60, grosso 
modo: anche Dennis Ritchie le cita abbondantemente nel suo monumentale 
"The Art of Computer Programming". Solo che non si chiamavano ancora DLL :-)

 "The Art of Computer Programming". Solo che non si chiamavano ancora DLL 
Su quali sistemi venivano utilizzate? Mi sembrava di ricordare che le 
librerie dinamiche nei sistemi UNIX sono state introdotte per prime su 
Linux.
E.

 Linux.
NAAA! Le librerie dinamiche hanno almeno quarantadue anni di vita. Altro 
che Linux...
Le aveva sicuramente il S.O. Multics, concepito nel 1965 e implementato 
poco dopo il 1970 (credo) che girava su mainframe GE 645: ecco l'articolo:
http://www.multicians.org/fjcc1.html
da cui si evince che le DLL esistevano già allora.
Cercando documenti sul linking sono incappato in questi due articoli, 
che sono molto interessanti:
http://www.iecc.com/linker/linker10.html
http://www.iecc.com/linker/linker01.html
Devo ringraziarti, per andare a vedere se quanto ricordavo era vero mi 
hai fatto trovare un sacco di roba carina... ^_^

 Non è una grande delusione... ma quali innovazioni ha fatto la Microsoft?
Il concetto di software a pagamento.
Il brevetto del doppio click.
I sistemi operativi a scadenza.
I virus.
I macrovirus.
I trojans.
La proliferazione di due categorie di persone:
l'utonto e il programmatore visual basic
"In a world without walls and fences, you will not need Windows and Gates."