Newsgroup: it.comp.lang.visual-basic
Titolo: [OT] ... ma non troppo (versioni di OCX)

Come vi districate con le varie versioni di OCX?
Mi spiego meglio: una volta installata la propria versione di VB (io uso
ancora VB4) sul proprio PC con le varie OCX in dotazione, capita di
installare altri SW che magari provvedono a sostituire le OCX con versioni
più aggiornate e qui cominciano i problemi.
1) se si utilizza più di un PC gli OCX non sono più allineati nelle versioni
con conseguenze spiacevoli se si trasporta del sw da un PC ad un'altro.
2) per ora non ho avuto problemi sull'utilizzo di questi OCX a parte l'help
che ovviamente non c'è o non corrisponde, però non si sa mai...qualcuno
potrebbe smettere di funzionare e quindi dovrei prima eliminarlo manualmente
e poi reinstallarlo dal CD di VB, ma in questo modo smetterebbe di
funzionare il sw che aveva installato la nuova versione... che casino!
3) dal punto di vista delle licenze: quali possibilità ho di distribuire OCX
di cui non ho i diritti? (non fanno parte del pacchetto VB acquistato)
In conclusione, a parte il fatto di non installare sw vari, oppure di avere
un HD dedicato solo allo sviluppo, vi siete mai posti i quesiti di cui
sopra? E se si come vi comportate?
Ciao a tutto il NG
Franco

 di cui non ho i diritti? (non fanno parte del pacchetto VB acquistato)
...mmmmhhh... Questa sì che è una domanda da un milione di dollari!!!
Credo (ma potrei sbagliarmi) che, salvo "diversa segnalazione", tu non
abbia alcun diritto, dunque fossi in te lascerei perdere e userei solo OCX
di cui sono sicuro di avere la licenza (ActiveX aggiuntive di Office
comprese). 
Per gli aggiornamenti, invece, non credo proprio che ci siano problemi, nel
senso che non credo che la licenza sia "vincolata" a una determinata
versione della libreria e non alle successive (eventuali). _Credo_ che,
qualora una sw house che sviluppa controlli ActiveX volesse rendere nulle
le licenze di librerie già sviluppate per versioni successive, anziché
aggiornare una libreria ne creerebbe una completamente nuova (cioè nuovo
GUID e tutto il resto). Ma su questo non sono sicurissimo.
Se sono poco competente dal punto di vista "legale", però lo sono un po' di
più dal punto di vista "tecnico", e da questo punto di vista posso dirti
che il codice di licenza o c'è, o non c'è (ma va! :).
Cioè, per spiegarmi meglio, quelle simpatiche stringhe scritte nel registry
che ti permettono di _sviluppare_ codice utilizzando le classi fornite
dalle OCX (da non confondere con quelle che consentono l'_utilizzo_ delle
stesse nei programmi già compilati) di solito _non_ vengono trascritte dai
software di installazione delle applicazioni, ma solo dai programmi di
sviluppo (i.e. Visual Basic). Se non hai quelle stringhe, _non puoi_
utilizzare gli OCX nei progetti "manco se te metti a piagne in cinese" :)
Questo discorso non vale per le librerie che _non_ sono state sviluppate
con un codice di licenza (e che quindi, per antonomasia, possono essere
distribuite liberamente, o almeno credo; in ogni caso, se lo sviluppatore
_non_ si è premurato di avvalersi delle protezioni che mamma M$ si è
inventata per i progettisti di controlli ActiveX, poi non si potrà
lamentare se la sua OCX se ne andrà in giro per il mondo come uccel di
bosco; o no?): queste OCX funzionano tranquillamente sia dal punto di vista
dell'utilizzo che da quello della progettazione.
Provo a spiegarmi ancora meglio:
- Se tu vuoi fare una OCX che sia "free", con VB la fai tranquillamente,
poi chiunque potrà usufruirne (basta registrarla con REGSVR32) per farci i
suoi programmi, che potrà distribuire a chiunque vorrà
- Se invece _vuoi_ che la tua OCX venga _pagata_ da chi ne faccia uso per
lo sviluppo, basta che inserisci un codice di licenza (VB ti permette di
farlo); agli svilippatori (tuoi clienti) che la compreranno, distribuirai,
assieme al file OCX, il codice di licenza da inserire nel registry. A quel
punto, i tuoi clienti dovranno, sì, distribuire la tua OCX anche ai _loro_
clienti (che compreranno i _loro_ programmi), ma nell'installazione dei
_loro_ programmi _non_ verranno inserite nel registry dei _loro_ clienti le
informazioni sulla licenza  =>  i _loro_ clienti non potranno usare quelle
OCX per farsi dei _loro_ programmi.
Alla luce di tutto ciò, presumo che, se tu hai delle OCX che _non_ facevano
parte del pacchetto di VB e per le quali _non_ hai un contratto di licenza,
allora:
- Se riesci ad utilizzarle nella programmazione, significa che o le OCX non
hanno codice di licenza, o la licenza l'avevi già;
- Se non riesci, invece,.... beh, pazienza: vuol dire che non avevi la
licenza! Allora inutile preoccuparsi :-)
 
-- 
Ale...@tiscalinet.it