Notepad++, Scintilla, SendMessages и Delphi

Discussion in 'Общие вопросы программирования' started by romserg, 20 Sep 2019.

  1. romserg

    romserg New Member

    Joined:
    21 Aug 2016
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, у меня проблемы с управлением Scintillой в n++ через сообщения. Использую delphi.

    Получаю handle скинтиллы через FindWindow и FindWindowEx.
    Пытаюсь передать строку для замены так:
    • str:='qwerty'#0;
    • sendmessage(hwndScintilla,2170,0, lparam(pchar(str)) );

    2170 - это SCI_REPLACESEL. Я не подключаю заголовочные файлы, поэтому использую просто числа вместо констант.

    Но вместо переданной строки встаёт вот это:
    [​IMG]
    Причём при каждом перезапуске n++ и моей программы "это" всегда разное.

    А сообщения, возвращающие числа, работают нормально:
    • sendmessage(hwndScintilla,2143,0,0 )
    2143 - это SCI_GETSELECTIONSTART.

    Как мне передать строку для замены в Scintilla?

    Документация отсюда: https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACESEL
    Константы тут: http://freesourcecode.net/cprojects/106750/sourcecode/Scintilla.h