by lucabaldini » 28 January 2014, 8:26
Io credo che il comportamento attuale (collegamento automatico) sia la cosa migliore (la fanno tutti gli strumenti di sviluppo che utilizzo normalmente, compreso Visual Studio).
Nel 99,99% dei casi, infatti, il programmatore deve lavorare online. Solo così, infatti, non ci sono conflitti con gli altri programmatori del team. Se In.de non si collegasse automaticamente il programmatore dovrebbe sempre ricordarsi di collegarsi prima di iniziare a lavorare e sarebbe, come dicevo prima, un'operazione che dovrebbe fare nella stragrande maggioranza dei casi.
Sul fatto dei lock con GUID 00000 quello non è un problema. Ti spiego come funziona.
Per cominciare tu vedi quella colonna solo perché hai attivato il LOG completo di In.de (puoi verificare nella pagina Strumenti / Opzioni / Generale). Quella colonna contiene il GUID della transazione nella quale è stato preso quel lock. Mi spiego meglio. Se tu fai una modifica In.de propaga automaticamente quella modifica a tutti gli oggetti collegati. Se cambi il nome di un campo del database In.de propaga quella modifica a tutti gli oggetti collegati al campo e, per esempio, cambia il nome a proprietà di classe, campi di pannello, etc... Quando fai la modifica In.de "apre una transazione" sul progetto e, all'interno di quella transazione, prende vari lock. Tutti quei lock sono "parte della stessa transazione (modifica)". Se annulli quella modifica premendo CTRL-Z In.de annulla automaticamente tutti i lock presi all'interno della stessa transazione.
Ora, se salvi, chiudi il progetto e riapri il progetto, il GUID viene "perso" dato che la transazione non c'è più. Il fatto che siano tutti 0 non vuol dire che "Teamworks si è incasinato" ma vuol dire che quel lock è stato preso in una transazione che non c'è più e non è, pertanto, annullabile.