Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
MEMORIA DI SISTEMA INSUFFICENTE
mercoledì 09 novembre 2005 - 11.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gho5t
Profilo
| Junior Member
155
messaggi | Data Invio:
mer 9 nov 2005 - 11:32
ciao a tutti....
ho un problema... ed è anche bello grosso....
ho fatto un programma che preleva le email e i relativi nomi da un database Access (mdb) e che li inserisce sui contatti di Outlook...
il mio problema è che quando le email sono più di 100 si verifica l'errore della memoria di sistema insufficente...
per inserire i contatti su outlook uso questo piccolo script che ho creato...
'creazione di un'applicazione di outlook
Dim olApp As Microsoft.Office.Interop.Outlook.Application
olApp = CreateObject("Outlook.Application")
Dim x As Integer
For x = 0 To i
'creazione di un contatto di outlook
Dim c As Microsoft.Office.Interop.Outlook.ContactItem
c = olApp.CreateItem(OlItemType.olContactItem)
'inserisco i dati del contatto dal database mdb sul contatto appena creato
c.Email1Address = email(x)
c.FullName = nome(x)
'salvataggio del contatto su Outlook
c.Save()
'chiusura del contatto
c.Close(OlInspectorClose.olDiscard)
Next
'chiusura dell'applicazione Outlook
olApp.Quit()
dove email e nome sono due array contenenti i risultati della query che ho fatto su Access
Ho un paio di domande:
1 - come faccio a far diminuire le risorse di sistema che questo programma preleva?
2 - se ogni volta creo e chiudo il contatto mi spreca risorse di sistema?
3 - è possibile creare un array di contatti di outlook e poi salvarli tutti in un momento?
4 - se la risposta alla domanda precedente è positiva, vorrei sapere si sprecano più risorse in questo modo oppure no?
5 - conoscete un programma visuale per windows xp che monitorizza le risose di sistema?
Grazie mille a tutti....
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 9 nov 2005 - 12:22
>5 - conoscete un programma visuale per windows xp che monitorizza
> le risose di sistema?
Il task manager di Windows XP è un ottimo strumento per monitorare il sistema non solo memoria e CPU ma anche altri valori nella linguetta Performance. Se la selezioni e vai sul menù "Visualizza"->"Seleziona Colonne" vedrai che potrai aggiungere ulteriori valori.
Un altro strumento utile è il Performance Monitor (da start->esegui digita perfmon e premi Ok).
Evidentemente durante l'operazione di creazione e inserimento contatti rimane qualcosa in memoria che non viene liberato.
Quello che ti consiglio è monitorare l'uso della memoria durante il funzionamento dal Task Manager. In seconda istanza, nello script visto che immagino usi un ciclo, apri l'istanza di Outlook prima del ciclo e chiudila dopo la fine del ciclo in modo che la parte centrale del ciclo sia solo creazione e aggiunta dei contatti.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Gho5t
Profilo
| Junior Member
155
messaggi | Data Invio:
ven 11 nov 2005 - 10:30
grazie mille....
ce l'ho fatta... ho seguito il tuo consiglio...
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !