Newsgroup: it.comp.lang.visual-basic
Titolo: versione prg che inibisce accesso

Salve a tutti,
domanda un po' strana:
esiste un metodo che permetta di inibire l'accesso al programma (o al db che
gestisce) attraverso la versione del programma?
Bye,
Nicola
-- 
Posted from  [194.243.32.26] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Nicola
Scusa ma non ho capito nulla
    danilo

 wrote in message
news:9os6m6$ajv$1...@fe2.cs.interbusiness.it...



 ha scritto nel messaggio
news:9b3fa0ce9a685e8fdf8...@mygate.mailgate.org...


 Volevi questo?


 C'č una soluzione?


 senza stare ad impazzare con file esterni o quant'altro!


 O forse ho capito male il funzionamento?
CUT
Allora (poi vado a pranzo)
quando compili gli imposti (se non lo hai settato in automatico)tali
numeri...
da li in poi a runtime li leggi(tar l'altro sono nelle proprietà dell'exe)
ora se hai implementato una routine che controlla sti numeri ossia da codice
che controlla
app.major minor e version riesci a sapere che programma stai facendo
girare...a che ti può servire?
A molto!
a controllare ad esempio se devi caricare o meno un db che non è compatibile
con la tua versione di programma....difficilmente potrai aggiornare il
programma stesso (un live update stile M$) potrai aggiornare solo basi dati
icone o quant'altro MA tutto come lo hai compilato...ossia se ho scritto di
caricare in me.caption="ciao come stai"   quello non lo puoi variare...
oppure se carichi l'immagine /immagini/pippo.bmp ...non puoi caricare
img/pluto.bmp perchè il tuo programma aspetta di trovare quel path...
ALLORA:
se vuoi rendere il tuo programma aggiornabile 2 strade:
1) Usa file risorse a iosa (cambi il file risorse...un po' complicato),file
ini e quant'altro non punti in maniera assoluta e comunque sia modificabile
(un file ini!)
MA se comunque hai nuove funzionalità da implementare
2) Un programmino scritto ad hoc (un LiveUpdate).Controllata la  versione
del programma (maor,minor,etc)decidi se è il caso di chiudere il programma
ed invocare quest'altro prg che ti SOSTITUISCE l'exe con quello aggiornato
(e al limite ti registra nuovi ocx aggieggia immagini file ini etc etc nuovi
archivi etc etc)
Questa è la strada più comoda per farlo....dopo pranzo se non è chiaro...ci
si risente
slurp!

Perchè non fai una cosa del genere:
ad ogni accesso del db scrivi in un campo la versione del programma (vedi
post sopra)
prima di scriverla ovviamente leggi che non sia superiore a quella dell'exe,
in tal caso dai messaggio.
Spero di esserti stato utile.
--
Ivan Castellaro
Mettere un punto tra nome e cognome per l'e-mail.
ivancas...@libero.it

 slurp!
-- 
Posted from  [194.243.32.20] 


 incombe :-D)
Cut
Al di là del pasto ...ogni tanto si deve anche lavorare! :-(
Si!
 poi la complichi come ti pare:
fino ad una certa vers un tipo di archivio
oltre un altro...e così via...
....
se poi hai l'accesso ad internet puoi farlo collegare al tuo server fare un
check con l'ultimo aggiornamento possibile o con l'ultima struttura dati etc
etc.... vedi un po' ...come fa virus scan che puoi scaricare non solo
l'aggiornamento dei virus ma anche diverse versioni di engine...
se poi lo agganci ad internet puoi fare mille trucchettini "ganzini"
tipo controllare se il cliente ha una licenza valida e se non la ha bloccare
il prog (M$ like!)...
fornire un servizio di upgrade a pagamento( a ri-M$ like!)... etc etc
Certo il tuo cliente deve avere un accesso ad internet (almeno un isdn per
stare tranquillo!...ma ora l'adsl te lo tirano dietro!)
Bye man!


Molto piu' chiaro e molto piu' sensato :)
Lo fai dal programma stesso, inserendo nel database un campo
MinimumValidVersion in una tabella con nome di tuo gusto ma suggerirei
SoftwareParameters o qualche altro nome chiaro. All'avvio del programma
verifichi questo campo e se la Major corrente e' uguale a quella richiesta
lasci procedere, altrimenti dai un warning e ti fermi.
Fossi in te cambierei Major ogni volta che creo un programma incompatibile
ma userei le Minor pre le versioni retrocompatibili.
A quel punto quando trovi una Major inferiore a quella corrente aggiorni il
DB, perche' stai modificando i dati in modo non piu' compatibile.
Occhio che devi prima bloccarlo in modalita' esclusiva, quindi essere certo
che tutti gli altri utenti abbiano chiuso il loro programma.
Ciaotutti,
*

 Bye man!
-- 
Posted from  [194.243.32.30] 


 
Anch'io di solito uso una tecnica simile.
Il problema e se le versioni vecchie sono gia' compilate e operative.
-- 
Samuele Battarra
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/news/