Utilisation de DotNetDélégué
Stagiaire WDF
Inscrit:
15/02/2008 09:46
Post(s): 3
Ce post pourra servir a ceux qui veulent se servir de la gestion des Handler dans .Net

DotNetDélégué permet de traiter les évènements dans .Net
Auparavant, si vous lisez d'abord l'aide de Windev, lisez surtout la complètement et vous verrez
Citation :

...
Cette fonction ne peut pas être utilisée en mode test : il est nécessaire de créer l'exécutable pour initialiser un délégué .NET.
...

Donc a moins de se retrouver avec des erreurs à l'exécution il n'est pas possible de tester DotNetDélégué avec un simple "GO" mais uniquement avce l'exe généré

En exemple je vais utiliser la détection des fichiers sur un répertoire

FileSystemWatcher permet de détecter la création (modif , delete et rename aussi) d'un fichier sur un répertoire.
ce système utilise les Handlers qui exécute une procédure à chaque détection.

oFSWatcher est un FileSystemWatcher //Objet FileSystemWatcher
oCreated est un FileSystemEventHandler dynamique //Le Handler de création

//Surveille le répertoire sécifié
oFSWatcher:Path = "c:\monRep"

//Surveille les fichiers TXT
oFSWatcher:Filter = "*.txt"

//Filtre sur les Acces, écriture et taille de fichier
oFSWatcher:NotifyFilter += NotifyFilters::LastAccess
oFSWatcher:NotifyFilter += NotifyFilters::LastWrite
oFSWatcher:NotifyFilter += NotifyFilters::Size

/En .NET Correspond à la procédure suivante
//oFSWatcher.Created += new System.IO.FileSystemEventHandler(onCreated);
//
//private void onCreated(object sender, System.IO.FileSystemEventArgs e)
// .....
//}

SI PAS EnModeTest() ALORS

//DotNetDélégué créé un objet de type FileSystemEventHandler
//Branche la procédure 	onCreated sur le Handler FileSystemEventHandler
oFSWatcher:add_Created(DotNetDélégué("onCreated","FileSystemEventHandler"))
	
	
//On met la détection d'évènement à vrai
oFSWatcher:EnableRaisingEvents = Vrai

FIN

PROCEDURE onCreated(src,args)

trace("OnCreated : "+ args:FullPath+")



Voila, l'aide de windev n'est pas claire du tout et j'ai pas mal galéré avant de comprendre le fonctionnement de DotNetDélégué

Contribution le : 11/06/2008 18:36
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation de DotNetDélégué
DSI WDF
Inscrit:
05/05/2004 13:46
Post(s): 314
M'inspirant de votre développement, j'ai voulu tester les fonctionnalités .Net en utilisant Message Queuing.

J'ai donc créé mon projet, intégré l'assemblage System.Messaging,créé mon code qui ne possède aucune erreur de compilation en 64 bits.
Mais voila j'ai un gros problème Windev ne veut pas me créer d'exécutable et plante à chaque tentative... Impossible donc pour moi de tester ce petit bout de programme que je me permet de partager avec vous.

Dans un bouton:
QueueLecture est une chaîne="FormatName:Direct=TCP:192.168.0.5\private$\test2"

pclMyQueue est un objet MessageQueue dynamique=allouer un MessageQueue(QueueLecture)
pclMyQueue:add_ReceiveCompleted(DotNetDélégué(MyReceiveCompleted,"MessageQueue"))
pclMyQueue:BeginReceive()


Et la procédure :
PROCEDURE MyReceiveCompleted(source,args)
mq est un objet MessageQueue dynamique
m est un objet Message dynamique
// Connect to the queue.
mq = source
// End the asynchronous Receive operation.
m = mq:EndReceive(args.AsyncResult)
// Display message information on the screen.
Info("Message: " + m:Body)
// Restart the asynchronous Receive operation.
mq:BeginReceive()
RETOUR



Avez vous une quelconque idée de ce qui peut se passer ? Mon code est-il incohérent ?

Cordialement

Contribution le : 01/07/2008 16:47

Edité par drcharly93 sur 1/7/2008 17:54:30
Créer un fichier PDF de la contribution Imprimer


Re: Utilisation de DotNetDélégué
DSI WDF
Inscrit:
05/05/2004 13:46
Post(s): 314
2 ans après je me permet de faire remonter le topic car toujours non résolu...

Contribution le : 06/01/2011 17:46
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2