RadStudio XE10.1 C++ plugin troubles

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

RadStudio XE10.1 C++ plugin troubles

Post by *BobGo »

I am trying to port a C++/VCL rad2010 plugin to xe10.1, since I wanted to move my plugins to x64 finally. But I fail already by simply "moving" the x32 version of my plugin! The plugin works perfect when being built in rad2010 but with xe10.1 it reports an EOutOfResources error, when it tries to allocate something for TApplication.
Is there anything already known, which I am not aware of? Why does the same code work with rad2010?
Was there anything changed in the VCL as I am wondering why TApplication is initizialied at all?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Please use the another forum
or how is your problem related to Total Commander ?
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

Post by *BobGo »

Sorry to say, but as the topic of this board is "Plugins and addons: devel.+support (English)" where else should I ask a development question?
Standard VCL C++ boards are also totally wrong, since my problems are TC related. Nobody outside the TC world will have any useful answer on this. If anyone already experienced similar problems, the chances are unlike higher to get a proper answer here.

I just also found http://totalcmd.net/plugring/ListSimpleBcb.html, which will also not work with XE10.1.[/url]
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

It sounded like you were writing a plugin for the RAD studio IDE, not for Total Commander.

There is probably an incompatibility because TC x64 is written in Lazarus/Free Pascal.
Last edited by ghisler(Author) on 2016-10-12, 21:10 UTC, edited 1 time in total.
Author of Total Commander
https://www.ghisler.com
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

Post by *BobGo »

Thx for the answer. I managed to get the x32 version running with the standard "Borland" compiler. But with the clang x32 compiler, TC reports an incompatibilty error when trying to register the plugin. Of course the x64 DLL does not work as well. Is the new Emba-stuff not able to create Windows resp. MS compatible DLLs anymore? Are DLLs not general purpose things anymore, but specific for certain applications?
btw: my x64 DLLs built with VS work of course.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Try using the "fileinfo" Lister plugin to check whether all the exported functions are correct.
Author of Total Commander
https://www.ghisler.com
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

Post by *BobGo »

ghisler(Author) wrote:Try using the "fileinfo" Lister plugin to check whether all the exported functions are correct.
Not sure if I understand fully. Do you mean wlx_fileinfo222.zip ?
But my plugin is based on the listplugin.hlp interfaces.
The funny thing is, that ListLoad() is entered properly when built with Borland compiler, but already the loading of the DLL fails, when I use the clang compiler.
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

Post by *BobGo »

Hey! I got the x32 clang working, finally. A prototype declaration in an include file override the function declaration.
But the x64 DLL can still not be loaded from TC. Emba does not to create compatible x64 DLLs? They cannot even be investigated by 'depends'?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes, I mean wlx_fileinfo! When you view your dll with it, it will show you the exported functions. Make sure they are all there, and they don't have decorations like 16,24 etc. at the end.
Author of Total Commander
https://www.ghisler.com
BobGo
Junior Member
Junior Member
Posts: 36
Joined: 2006-02-26, 14:59 UTC

Post by *BobGo »

ghisler(Author) wrote:Yes, I mean wlx_fileinfo! When you view your dll with it, it will show you the exported functions. Make sure they are all there, and they don't have decorations like 16,24 etc. at the end.
I always use the 'depency walker' instead.. Nevermind, everything is working now, both the x32 and the x64! As a TC user from the very beginning, it's great to see, that the latest C++Builder creates still TC compatible stuff.

If anyone needs the updated bcb6 plugins from Evgeniy Savich, contact me.

PS:
It would be helpful, if plugin developers would find any information about how to install ".wxx64" files. In general, finding deeper developer documentation is not so easy these days.
Post Reply