Can't receive dragged text from the latest Notepad++ release



  • I am writing an app that accepts dragged text. It isn’t working with the latest releases of NP++. It is working fine with 7.9.3 (32-bit). It also works with other apps (as it has always) except the new NP++. Something is awry.



  • @Anthony-Zackin ,

    Using NPP v7.9.3-32bit as the “known good” app: I just opened two instances (each with -multiInst) of NPP v7.9.3-32bit, and proved to myself that I can drag-and-drop text from one instance to the next. I then opened two instances of NPP v7.9.5-32bit or of v7.9.5-64bit, and I could drag-and-drop text from any of those to each other (795-64 to 795-32 or to another 795-64; 795-32 to another 795-32 or to 795-64 or to 793-32; 793-32 to any of the 795 instances; etc).

    To expand beyond NPP, I tried using MS Windows’ notepad.exe, but I couldn’t get it to be a source or destination for dragged text, either self-to-self or it-to/from-npp793 or -npp795. Since it doesn’t seem to work as a source/destination, I cannot use it as a testbed.

    Do you know of other specific apps that we’re likely to have that can be used as a source or destination?

    But at least at the first level, v7.9.5 doesn’t have an inherent problem with drag-and-drop in or out.



  • @Anthony-Zackin ,

    any chance that NPP runs in “As Administrator”-Mode? You can’t Drag&Drop between apps running in normal mode and those running “As Administrator”.



  • Works for me in 7.9.5



  • To provide further information:

    (1) No, this is not a admin issue. It works fine in all versions up to and including 7.9.3 so I am assuming it was affected by a change made after that version

    (2) My app is a hybrid with a C# back-end and some legacy VB6 code for the UI (don’t ask!). It is the VB6 part that is not working. Here is another VB6 app for which OLE Drag and Drop works with other programs but not with the current version of NP++: https://www.freevbcode.com/ShowCode.asp?ID=2026



  • @PeterJones said in Can't receive dragged text from the latest Notepad++ release:

    Do you know of other specific apps that we’re likely to have that can be used as a source or destination?

    @Anthony-Zackin

    I just tried from Notepad++ 7.9.5 to / from Windows WordPad (write.exe). It works fine both ways - drag / drop from N++ to WordPad and drag / drop from WordPad to N++.

    Maybe your application doesn’t support drag and drop (like Windows Notepad doesn’t) since it seems Notepad++ works OK.

    Cheers.



  • @Michael-Vincent
    I thought I was clear about the circumstances but let me reiterate:

    (1) Drag and drop is an integral part of the app and it used to work with earlier versions of NP++. It works with every other program that I have used including Chromium based browsers, MS Office programs, and WordPad among others.

    (2) The problem seems to be with legacy software such as VB6 since neither my app nor the one I have referenced above from freevbcode works with NP++ drag and drop.



  • @Anthony-Zackin said in Can't receive dragged text from the latest Notepad++ release:

    The problem seems to be with legacy software such as VB6

    I think that’s what @Michael-Vincent was trying to say.

    Since his experiments show that Notepad++ v7.9.5 handles drag-and-drop just fine with WordPad (and I just confirmed that it works with WordPad and MS Word 2016), then Notepad++ seems to handle drag-and-drop just fine. In that case, maybe there’s something specific to the way the drag-and-drop is implemented in the VB6 implementation that makes it incompatible with Notepad++'s implementation.



  • @Anthony-Zackin said in Can't receive dragged text from the latest Notepad++ release:

    and it used to work with earlier versions of NP++

    I don’t think this statement alone is a valid complaint, when it has been shown by several that drag-and-drop of text works fine with N++ 7.9.5 and WordPad and Word.

    Now, if you can be more specific, then…maybe.

    I thought I was clear about the circumstances but let me reiterate

    I suppose you were clear, but in light of drag-and-drop working between N++ 7.9.5 and popular MS-apps, and the lack of other specifics from you, I’ll have to tell you that probably no one cares.



  • It’s quite some time ago that I had to deal with Drag&Drop, but if I remember this right, the applications have to negotiate about how and what gets transferred. Could it be that Notepad++/Scintilla have dropped support for some older stuff? I imagine that VB6 code might well be not-so-up-to-date in this respect.



  • It seems that Scintilla has changed Drag&Drop handling in V. 4.3.0 and 4.3.1(taken from release notes):

    4.3.1
    Fix drag and drop between different encodings on Win32 by always providing CF_UNICODETEXT only

    4.3.0
    On Win32, remove support for CF_TEXT clipboard format as Windows will convert to CF_UNICODETEXT.

    Scintilla was updated from 4.2.0 to 4.4.6 in Notepad++ 7.9.4. Quite possible this has to do with that.



  • @Alan-Kilborn

    I am not nobody. And there are probably MANY businesses in the world who still use legacy applications written in VB6. How many COBOL programs are still used in production? So when you say “no one cares” I think you are misinformed.

    How much more specific can I be? It doesn’t seem to work with VB6 anymore. I think that is very specific.

    It would seem like the obvious culprit is Scintilla as per gerdb42. I can live with it (copy and paste works fine) but it still takes away functionality from NP++ for those of us who still use legacy software. And, to re-reiterate, my software works fine with everything else that I have tried just as NP++ works fine with everything it has been tested with EXCEPT VB6.



  • @Anthony-Zackin said in Can't receive dragged text from the latest Notepad++ release:

    I am not nobody.

    Didn’t mean to imply you were…or weren’t…

    So when you say “no one cares” I think you are misinformed.

    What I meant was on a Notepad++ development basis.
    To be totally clear: The developers probably don’t care.
    And probably rightly so…life moves on.
    An example is that Notepad++ recently ended support for Windows XP…newer versions of N++ just won’t run on it.
    Nobody can code for “older stuff” forever.



  • [@Alan-Kilborn

    I didn’t take it personally. I meant there ARE people out there who are affected by these kinds of changes. I don’t know what advantages the new version of Scintilla provides re drag and drop and, if it is substantial, then I have no problem with the upgrade. However, if the “gain of function” is minimal and it means that legacy software is no longer supported then that might be a net loss.

    Windows XP is no longer supported and only people from 3rd world countries who can’t afford to upgrade ought to be using it. Millions of lines of Visual Basic 6 code is still being used in the first world and, if COBOL is any indication, probably in many, many places. Your analogy is false, IMO. BTW, why do you think Windows has a compatibility mode?



  • @Anthony-Zackin

    So I suppose you could contact the Scintilla developers about this, if you are inclined to, see if they’d rollback their functionality change, or create some sort of “compatibility” mode for you. Maybe they’ll care. I suspect that even you don’t care enough about it to pursue that.

    Your (WinXP) analogy is false, IMO

    It wasn’t supposed to be a tight analogy. It was supposed to emphasize the next line: ‘Nobody can code for “older stuff” forever’.
    Well, possibly you and the COBOL people can. :-)

    Cheers, mate. Good luck.



  • Problem solved. VB6 does not directly recognize UNICODE text for drag and drop. The Scintilla modification changed the datatype that one must test for in VB from 1 == vbCFText to 13 == CF_UNICODETEXT. Anyone having the same problem need only define CF_UNICODETEXT and then add a test for Data.GetFormat(CF_UNICODETEXT) and then retrieve the data similarly, to wit, Data.GetData(CF_UNICODETEXT).



  • And to @gerdb42 thanks for your cogent observation.



  • Glad it helped ;-)


Log in to reply