AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Painting in the code editor

Ein Thema von stahli · begonnen am 31. Mai 2020 · letzter Beitrag vom 29. Aug 2020
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#1

Painting in the code editor

  Alt 31. Mai 2020, 22:51
Ich möchte bestimmte Texte im Codeeditor farbig hinterlegen.

Ein früherer Ansatz über IOTAHighlighter (https://www.delphipraxis.net/204355-...hlighting.html) schägt offenbar fehl (ist auch so im Netz als Problem zu finden).


Einen anderen Ansatz beschreibt David von Parnassus (woher auch die neuen Bookmarks stammen).

-> https://parnassus.co/mysteries-of-id...editor-part-1/

Ich habe das soweit nachgebaut und versucht, das Beispiel aus dem Screenshot zu erreichen.
Es wird als Basisfall einfach "Hello Word" links oben in den Editor gemalt.

Wenn das funktioniert, lässt sich das weiter ausbauen, was auch in einem zweiten Teil näher beschrieben wird.

-> https://parnassus.co/mysteries-ide-p...editor-part-2/


Aber ich komme mit Part 1 noch nicht ganz zurecht.
Ich habe bereits alles umsetzen können bis auf EINEN Punkt:
Delphi-Quellcode:
 FOriginalPaintLine := TCodeRedirect.GetActualAddr(GetProcAddress(FCoreIDEHandle, '@Editorcontrol@TCustomEditControl@PaintLine$qqrr16Ek@TPaintContextiii'));
 // Patch the code editor’s PaintLine to use our method
 FPaintLineHook := TCodeRedirect.Create(@FOriginalPaintLine, @HookedIDEPaintLine);
Zitat:
Note: FCoreIDEHandle is the module handle of coreide*.bpl, loaded into the current process. Finding this is left as an exercise for the reader, and there are variety of ways. This method may get you started.
-> https://stackoverflow.com/questions/...unction-within

FCoreIDEHandle ist nicht bekannt. In den Hinweisen ist das bereits erläutert und man muss irgendwie die IDECore.dll laden und dort zur Laufzeit suchen.
Ob der Controlname noch stimmt, weiß ich auch nicht.
Ich hätte aber auf jeden Fall Interesse, den Weg noch weiter zu versuchen (ist schwierig als Autodidakt).

Kann hier jemand helfen??? Oder hat jemand Grundkenntnisse bei der Verwendung einer DLL und Interesse an dem Thema?

Wir könnten die unfertigen Units entsprechend teilen und weiter entwickeln...
Angehängte Grafiken
Dateityp: png 31-05-_2020_23-04-14.png (74,2 KB, 55x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz