Anonymous avatar Anonymous committed 7026493

Added original Delphi readme

Comments (0)

Files changed (1)

-Effort to convert the Delphi demo plugin/template plugin for Notepad++ to Lazarus.
+Welcome, future developer of Notepad++ plugins (in Lazarus)!
+We present a port of the Delphi demo plugin/template plugin for Notepad++ to Lazarus.
 Started with Delphi Unicode plugin from
 Compiles with Lazarus 1.1 (SVN), FPC 2.6.1 (SVN) and FPC 2.7.1 x86.
 August 2012
-Ludo Brands & Reinier Olislagers
+Ludo Brands & Reinier Olislagers
+Readme from the original Delphi version:
+Welcome, future developer of Notepad++ plugins (in Delphi)!
+This is a base framework that will help you create Notepad++ plugins.
+The framework itself it stored in the 'lib' subdirectory, you mostly have to
+worry about the stuff that is in the root directory. Most of the DLL
+initialization has been moved to framework files, so you don't even have to
+bother with this. The thing you need to do is:
+ - Create a new project
+ - Add all framework files to the project
+ - In your project file add {$Include 'lib\NppPluginInclude.pas'} and inside begin end. add DllProc := @DLLEntryPoint; DLLEntryPoint(DLL_PROCESS_ATTACH);
+ - Create a new unit that will extend NppPlugin class
+ - In the interface of your plugin unit create a variable Npp of your plugin class (ex: var Npp: THelloWorldPlugin;).
+ - At the end of that unit add initialization Npp := TYourExcelentPlugin.Create;
+ - You can use TNppForm and TNppDockingForm as base for your forms. Remember to use the correct constructor!
+ - Create your windows when the are requested by the user via one of the func calls. Notepad++ will also use this when it starts up.
+ - Never create windows in the costructor or before setInfo is called.
+Other stuff that might be interesting to extend in your plugin:
+ - BeNotified (NPPN_TB_MODIFICATION - extend DoNppnToolbarModification, NPPN_SHUTDOWN - extend DoNppnShutdown ...)
+ - MessageProc (WM_CREATE...)
+ - I'd like to make this plugin more in a way that real Delphi stuff is made (usage of ObjectInpector, not creating new constructors...) but that would require me to make an installable component. I hate this. If anyone wants to make this for me...
+Any suggestions or questions:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.