Probleme avec classes .NET dans Thread

Posté par putto le 22/10/2008 15:55:40
Bonjour, alors voilà ce que je cherche à faire:

J'essaie d'utiliser les outils WMI au travers de classes .NET pour creer une thread qui monitorise si un process est actif sur un ordinateur distant. Le problème est que ce Threads consomme toujour plus de memoire et à la fin cela crashe: Voici mon code:

Declarations globales:

gManagementScope est un ManagementScope dynamique
gManagementObjectSearcher est un ManagementObjectSearcher
dynamique
gObjectQuery est un ObjectQuery dynamique
gManagementPath est un ManagementPath dynamique
gConnectionOptions est un ConnectionOptions dynamique

gManagementScope = allouer un ManagementScope()
gManagementObjectSearcher = allouer un
ManagementObjectSearcher()
gObjectQuery = allouer un ObjectQuery()
gManagementPath = allouer un ManagementPath()
gConnectionOptions = allouer un ConnectionOptions()


Et la procedure:

PROCEDURE Monitoring1()

POUR nGGParcour = 1 A gNbLigneTableau

gManagementPath:set_Path("\\"+ gtabListe1[nGGParcour,2] +"\root\cimv2")
gConnectionOptions:set_Username(gtabListe1[nGGParcour,3])
gConnectionOptions:set_Password(gtabListe1[nGGParcour,4])
gManagementScope:set_Path(gManagementPath)
gManagementScope:set_Options(gConnectionOptions)
gObjectQuery:set_QueryString("SELECT Name FROM Win32_Process WHERE Name='" + gtabListe1[nGGParcour,5] + "'")
gManagementObjectSearcher:set_Scope(gManagementScope)
gManagementObjectSearcher:set_Query(gObjectQuery)

gManagementObjectSearcher:get()

FIN


J'ai donc regler la procedure comme Thread automatique qui se repete chaque 3 secondes.
Apres tests j'ai remarque que la memoire explose quand j'ajoute la ligne gManagementObjectSearcher:get()


Quelqu'un peut m'aider?

Merci d'avance

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=6030&post_id=24242