PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → .net DotNetDélégué / scintillanet
.net DotNetDélégué / scintillanet
Débuté par Florent Renier, 10 déc. 2017 22:10 - 3 réponses
Posté le 10 décembre 2017 - 22:10
Bonjour,

j'utilise l'assemblage .net scintillanet
cf sujet précédent :https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/212560-coloration-syntaxique-scintillanet-scintilla/read.awp…
je cherche à brancher un événement de l'objet .net avec la méthode DotNetDélégué de windev. sans succès. je n'arrive pas à trouver la bonne syntaxe.

pour le code suivant

// sc est un objet .net winform de type scintillanet.scintilla
sc.add_KeyDown(DotNetDélégué("test","System.Windows.Forms.KeyEventHandler"))



voici l'erreur :

Vous avez appelé laFONCTIONDotNetDélégué.
L'objet detype<CWLDelegate_void_KeyEventHandler_object_System_Windows_Forms_KeyEventArgs> (assemblage<>)n'a pas pu être créé
L'assemblage<C:\Mes Projets\EXPRESS_editor\Exe\>n'a pas pu être ouvert
Le framework.NETa renvoyé l'Erreursuivante:
Impossibledecharger leFichier OUl'assembly'File:///C:\Mes Projets\EXPRESS_editor\Exe\' ou une de ses dépendances. Le fichier spécifié est introuvable.


>je sèche!
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 11 décembre 2017 - 16:58
hello,
moi je n'ai pas d'erreur et cela fonctionne en windev 16 avec l'assemblage ScintillaNet en version 3.6.3.0

--
>Ami calmant, J.P
Posté le 08 février 2018 - 14:15
Bonjour JP,

as tu un bout de code à me montrer, pour connaitre la syntaxe exacte qui fonctionne chez toi?

>merci
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 08 février 2018 - 23:55
hello,
voici le code qui fonctionne chez moi avec Windev16 windows 7 en compilation 32 bits :
MonLangageWLest unWL.XMLDocument,Description="WLangLexer"
MonLangageWL=XMLOuvre("F:\sharpdevelop\scintillaNet\WLangLexer.xml",depuisFichier)
MonScintilla.Lexer=Lexer.Cpp
MonScintilla.StyleResetDefault()
MonScintilla:Styles.get_Item(Style.Default).Font="Consolas"
MonScintilla.Styles.get_Item(Style.Default).Size=12
MonScintilla.StyleClearAll()
// Configure the CPP (C#) lexer styles

//Pour tout styleWL de MonLangageWL.NotepadPlus.LexerStyles.LexerType
//LeStyleID est un entier = styleWL:styleID
//MaCouleur est une chaine = "#" + styleWL:fgColor
//MonScintilla.Styles.get_item(LestyleID).ForeColor = ColorTranslator.FromHtml(MaCouleur)
//MaCouleur = "#" + styleWL:bgColor
//MonScintilla.Styles.get_item(LestyleID).BackColor = ColorTranslator.FromHtml(MaCouleur)
//MonScintilla.Styles.get_item(LeStyleID).Font = styleWL:fontName
////MonScintilla.Styles.get_item(LeStyleID). = styleWL:fontStyle
//FIN
MonScintilla.Styles.get_Item(Style.Cpp.Default).ForeColor=Color.Silver
MonScintilla.Styles.get_Item(Style.Cpp.Comment).ForeColor=Color.FromArgb(0,128,0)// Green
MonScintilla.Styles.get_Item(Style.Cpp.CommentLine).ForeColor=Color.FromArgb(0,128,0)// Green
MonScintilla.Styles.get_Item(Style.Cpp.CommentLineDoc).ForeColor=Color.FromArgb(128,128,128)// Gray
MonScintilla.Styles.get_Item(Style.Cpp.Number).ForeColor=Color.Violet
MonScintilla.Styles.get_Item(Style.Cpp.Word).ForeColor=Color.Blue
MonScintilla.Styles.get_Item(Style.Cpp.Word2).ForeColor=Color.BlueViolet
MonScintilla.Styles.get_Item(Style.Cpp.String).ForeColor=Color.FromArgb(163,21,21)// Red
MonScintilla.Styles.get_Item(Style.Cpp.Character).ForeColor=Color.FromArgb(163,21,21)// Red
MonScintilla.Styles.get_Item(Style.Cpp.Verbatim).ForeColor=Color.FromArgb(163,21,21)// Red
MonScintilla.Styles.get_Item(Style.Cpp.StringEol).BackColor=Color.Pink
MonScintilla.Styles.get_Item(Style.Cpp.Operator).ForeColor=Color.Red
MonScintilla.Styles.get_Item(Style.Cpp.Preprocessor).ForeColor=Color.Maroon
MonScintilla.Lexer=Lexer.Cpp
MonScintilla.Margins.get_Item(0).Width=20


// Set the keywords

POURTOUTMotCldeMonLangageWL.NotepadPlus.Languages.Language
//trace("MotCl",MotCL:name,MotCl..Texte)
IndiceKeyest un entier=MotCl:name
MesMotsClesest une chaîne=MotCl..Texte
MonScintilla.SetKeywords(IndiceKey,MesMotsCles)
FIN



//MonScintilla.SetKeywords(0, MonLangageWL.NotepadPlus.Languages.Language.Keywords[O])
//
//MonScintilla.SetKeywords(1, "bool byte char class const decimal double eLanguage.Keywords[num float int long sbyte short static string struct uint ulong ushort void");
MonScintilla.Text="épilogue est une chaîne = ""héhé il y a des accents !"""
MonScintilla.add_KeyDown(DotNetDélégué("test","System.Windows.Forms.KeyEventHandler"))


et test :
Proceduretest()
Trace("key down")


avec comme assemblage ScintillaNET, Version=3.6.3.0, Culture=neutral, PublicKeyToken=null

--
>Ami calmant, J.P
Message modifié, 08 février 2018 - 23:57