Newsgroup: it.comp.lang.visual-basic
Titolo: Istanziare oggetto da progetto

Per fare un debug abbastanza veloce per una DLL per sviluppare in ASP avrei 
bisogno di crearmi una pagina che però invece di fare:
Set p= Server.CreateObject("NomrDLLregistrata.Oggetto")
Punti direttamente ad un progetto VB che so per esempio:
Set p= Server.CreateObject("PercorsoNomeProgetto.Classe")
oppure andrebbe benissimo anche mettere la pagina asp all'interno della 
cartella del progetto VB se fosse necessario
Qualcuno sa se è possibile?
Grazie
-- 
Claudio P. 

 ha scritto nel 
messaggio news:NaL5g.16573

Dovresti riuscirci così:
- Apri il progetto della dll con VB
- nelle proprietà del progetto imposti la compatibilità binaria con la dll
- avvii il progetto
- richiami la pagina asp
ora dovresti essere in debug da vb.
Ciao
-- 
Free .Net Reporting Tool - 
http://www.neodatatype.net
 

 ora dovresti essere in debug da vb.
Ma l'istanzia la faccio allo stesso modo?
Set p= Server.CreateObject("NomrDLLregistrata.Oggetto")
Se sulla macchina è anche registrata la DLL mi conviene eliminarla 
altrimenti rischio di istanziare una cosa per l'altra?
-- 
Claudio P. 

 altrimenti rischio di istanziare una cosa per l'altra?
Ma tra i punti che ho elencato c'è un "Cancella la dll"?
Uff... neanche a spiegare le cose passo-passo... :)
Il debug delle dll activeX si fa così: hai la dll compilata e registrata, VB 
si attacca a quella con cui il progetto è in compatibilità binaria.
Il resto lo fa il processo chiamante.
Non ricordo con ASP, ma mi pare funzioni comunque.


 Il resto lo fa il processo chiamante.
Domani provo, grazie
-- 
Claudio P.


Poi non funzionerà e potrai coprirmi di insulti ;)
Ciao 


Aggiungerei: nelle proprietà del progetto della DLL, scheda 'debugging', imposta
'Start browser with URL' e specifica l'indirizzo della pagina ASP.
A questo punto se avvii il progetto ti si *dovrebbe* aprire la pagina ASP.
Bye
Raf

 A questo punto se avvii il progetto ti si *dovrebbe* aprire la pagina ASP.
Io avrei lasciato quello di default e lanciato il browser esternamente.
Questo solo per dire che le due possibilità sono entrambe alternative 
valide, poi uno scelga quella che ritiene più comoda.
Ciao 

Ho fatto tutto quello  che mi avete detto te e Rafunk ma non funziona o 
meglio non č quello che volevo io, magari mi sono spiegato male
Quello che vorrei io č che ogni volta che eseguo (non creo la DLL) la pagina 
punti alle modifiche effettuate e non all'ultima dll generata
In alternativa mi va benissimo generare ogni volta la DLL ma senza che la 
generazione venga bloccata perchč in uso da un altro programma, visto che č 
in uso sicuramente da IIS visto prima della modifica stavo testando la 
pagina che la richiama
Attualmente ogni volta che faccio una modifica per testarla devo:
- riavviare IIS
- compilare la dll
- alcune volte anche registrarla
- alcune volte ridare i permessi all'utente per utilizzarla
Lasciamo stare i due ultimi punti che mi sa che č qualche impostazione 
sbagliata sulla mia macchina ma ogni volta rifare le prime due operazioni 
per fare una prova magari per vedere semplicemente un messaggio di debug č 
una menata mostruosa
Grazie
-- 
Claudio P. 

 - alcune volte ridare i permessi all'utente per utilizzarla
Quello che descrivi è il classico scenario in cui viene rotta la 
compatibilità dell'interfaccia.
Mi lascia decisamente perplesso il punto 3: VB la registra in automatico 
quando compila.
La quarta non so di cosa tu stia parlando, una volta dato il permesso a 
IUSR_xyz per IIS dovresti essere a posto.
La regola è questa:
- Imposti la compatibilità binaria con l'ultima dll registrata.
- Da questo momento *NON* puoi più cambiare l'interfaccia delle classi 
tranne che per aggiungere nuovi metodi, pena la ricompilazione, però VB ti 
avverte con un bel warning quando rilanci il progetto.
Se devi ricompilare devi per forza
- stoppare o riavviare IIS per sbloccare la dll
- ricompilare la dll
Ciao 

 - ricompilare la dll
Ok ho fatto come dici ma niente da fare.
La sequenza è stata:
- ho deregistrato la dll così se ne occupa direttamente la compilazione di 
VB
- ho compilato e ho verificato che VB abbia registrato la dll e lo ha fatto 
regolarmente
- ho aperto la pagina asp dove istanzio la dll e tutto funziona
- ho fatto uan modifica banale alla classe per verificare
- ho avviato il debug ("Esegui - Avvia" e anche "Esegui - Avvia con 
compilazione completa"
- mi si apre la pagina asp ma della modifica fatta di proprosito per il 
debug niente neanche la traccia rimane sempre quello che era già presente 
nella dll
La situazione ora è anche peggiorata perchè dopo che apro la pagina Asp che 
istanzia l'oggetto non mi basta più riavviare IIS per poter compilare perchè 
mi continua a dire che la DLL è in uso, e sinceramente non saprei proprio da 
che cosa.....quindi dopo un po di tentativi di killare processi mi tocca 
riavviare la macchina
:-((
-- 
Claudio P. 

 - ricompilare la dll


 :-((
per quel che ne so la situazione che descrivi non è risolvibile. Nel classic
asp, IIS blocca inesorabilmente la dll. La stessa per essere modificata ed
utilizzata nella sua nuova versione (aggiornata) deve essere rilasciata dal
web server che deve essere riavviato.
Il problema  è stato risolto in .NET consentendo a IIS di utilizzare solo
una copia della dll e permettendo le successive modifiche alla stessa
dall'ambiente di sviluppo.
ciao

 web server che deve essere riavviato.
Sě, ma questo esula dal debug della stessa.
Ciao 

 ha scritto nel 
messaggio news:8n46g.18333
Prova a guardare questo:
http://support.microsoft.com/kb/299633/en-us
Ciao