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é la FONCTION DotNetDélégué.
L'objet de type <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 .NET a renvoyé l'Erreur suivante :
Impossible de charger le Fichier OU l'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 :
MonLangageWL est un WL.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

POUR TOUT MotCl de MonLangageWL.NotepadPlus.Languages.Language
//trace("MotCl",MotCL:name,MotCl..Texte)
IndiceKey est un entier = MotCl:name
MesMotsCles est 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 :
Procedure test()
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