В чем смысл этого сообщения об ошибке, которое я получаю при тестировании моего плагина «Блокнот ++»?C#

Место общения программистов C#
Ответить
Anonymous
 В чем смысл этого сообщения об ошибке, которое я получаю при тестировании моего плагина «Блокнот ++»?

Сообщение Anonymous »

В своем предыдущем вопросе я объяснил, как я начал разрабатывать плагин блокнота ++, но я застрял с частью «dllexport». Class = "Lang-None PrettyPrint-Override">---------------------------
C:\Program Files\Notepad++\plugins\Demo\Demo.dll
---------------------------
This ANSI plugin is not compatible with your Unicode Notepad++.

Demo.dll is not compatible with the current version of Notepad++.

Do you want to remove this plugin from the plugins directory
to prevent this message from the next launch?
---------------------------
Yes No
---------------------------

Графически:

Как я могу изменить свой плагин demo c#, чтобы избежать этого ошибки? Isunicode () функция, но я все еще сталкиваюсь с той же проблемой. Это то, на что выглядит мой код прямо сейчас: < /p>
namespace Kbg.Demo.Namespace
{
class Main
{
// The " Fields " region is collapsed.

#region " Startup/CleanUp "

static internal void CommandMenuInit()
{
...
// PluginBase.SetCommand(19, "isUnicode, return true always", isUnicode);
// PluginBase.SetCommand(20, "return your plugin name", getName);
PluginBase.SetCommand(21, "informs your plugin about Notepad++ and Scintilla handles", setInfo);
PluginBase.SetCommand(22, "called in case of Notepad++ or Scintilla events", beNotified);
PluginBase.SetCommand(23, "called in case of Windows messages forwarded by Notepad++", messageProc);
// PluginBase.SetCommand(24, "return the functions which should be available within your plugin menu", getFuncsArray);
}

// ...

static public bool isUnicode()
{
return true; // Return True always
}

static public string getName()
{
return "DDM_Demo"; // Return your plugin name
}

static public void setInfo()
{
// return "setInfo"; // Informs your plugin about notepad++ and scintilla handles
}

... // The others, mentioned in [Sinatr's second link][3] are there too.

Я нашел следующий код C ++ для iSunicode () Функция:
#ifdef UNICODE
extern "C" __declspec(dllexport) BOOL isUnicode()
{
return TRUE;
}
#endif //UNICODE

Я не знаю, какая часть __declspec (dllexport) точно означает (я предполагаю, что часть #ifdef не важна). Имеет ли это какое -либо значение о том, как объявить/определить функцию iSunicode () ? Я не вижу никакой информации, которая может объяснить почему это диалоговое окно показано, в то время как функция iSunicode () ясно существует. />
Комментарий к точке прорыва не попадает:
очень чудес: когда я запускаю DLL (неэп -le -le -le. Точка), похоже, что функция iSunicode () даже не используется:

Фактически, окно «Модули» отладки выглядит довольно пустым:

. Мои неуправляемые экспорты, кажется, не называются/вызовы:

Я пытался, очень известный, чтобы получить эти функции, чтобы использовать, но там, но там, но там, я также не провалился, но там, но там, но там, но там, я также не провалился: class = "lang-csharp prettyprint-override">PluginBase.SetCommand(21, "informs your plugin about Notepad++ and Scintilla handles", Kbg.NppPluginNET.UnmanagedExports.setInfo); // does not compile (CS1503)


Подробнее здесь: https://stackoverflow.com/questions/796 ... pad-plugin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»