In which language is TC written??
Moderators: Hacker, petermad, Stefan2, white
2ghisler(Author)
Here is some workaround to call 32bit COM object, which can accept all current parameters (may bee in other data types) + plugin dll name and send them to 32 bit plugin.
Also, COM wrapper allows to elevate plugins throw UAC to admin rights (by writing simple CoCreateInstanceAsAdmin function instead standard CoCreateInstance)
Here is some workaround to call 32bit COM object, which can accept all current parameters (may bee in other data types) + plugin dll name and send them to 32 bit plugin.
Also, COM wrapper allows to elevate plugins throw UAC to admin rights (by writing simple CoCreateInstanceAsAdmin function instead standard CoCreateInstance)
2ghisler(Author)
It's a TC clone written in Lazarus and it's GPL2. It looks good and is available in 64 and 32 bit and for Linux too.
Do you know Double Commander?I'm currently porting to Lazarus/Free Pascal
It's a TC clone written in Lazarus and it's GPL2. It looks good and is available in 64 and 32 bit and for Linux too.

- fenix_productions
- Power Member
- Posts: 1979
- Joined: 2005-08-07, 13:23 UTC
- Location: Poland
- Contact:
2norfie²
Could you ever get any plugins to work with it? Using DC Configuration dialogue I am able to add WLX ones only but they don't work at all despite that (not that any other work at all).
I am observing DC development since 2008 (IIRC) and I have lost my hopes for it long ago.
Could you ever get any plugins to work with it? Using DC Configuration dialogue I am able to add WLX ones only but they don't work at all despite that (not that any other work at all).
I am observing DC development since 2008 (IIRC) and I have lost my hopes for it long ago.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...
#128099
#128099
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I'm using a named pipe. Look up CreateNamedPipe on MSDN:just out of curiousity, how do you communicate now between x86 and x64 ?
http://msdn.microsoft.com/en-us/library/aa365150%28VS.85%29.aspx
I cannot use that, because COM objects need to be registered with admin rights in the registry. Therefore it will not work when running TC from an USB stick.Here is some workaround to call 32bit COM object
Btw, since Friday, TC compiles in 64-bit Lazarus.

Unfortunately many functions don't work yet, or work incorrectly, but the basics already work: Directory browsing, archive browsing, unzip, ftp, Lister (partially), Synchronize dirs, compare by content, change attributes have been tested.
The most work was needed for updating Assembler functions to 64-bit, and for variables which changed from 32-bit to 64-bit. There is still a lot of work to do until everything works as it should, e.g. porting support dlls like the zip packer to 64-bit.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
[q]
I'm using a named pipe. Look up CreateNamedPipe on MSDN:
http://msdn.microsoft.com/en-us/library/aa365150%28VS.85%29.aspx[/q]
Yeah, pretty good workaround. Named pipes are used e.g. in SQL server.
Very happy to see x64 working (to some extend!).
Btw, in terms of convenience, how good is Lazarus compared to Delphi?
I'm using a named pipe. Look up CreateNamedPipe on MSDN:
http://msdn.microsoft.com/en-us/library/aa365150%28VS.85%29.aspx[/q]
Yeah, pretty good workaround. Named pipes are used e.g. in SQL server.
Very happy to see x64 working (to some extend!).
Btw, in terms of convenience, how good is Lazarus compared to Delphi?
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
It's surprisingly good for being free, but there are still many problems/bugs. The biggest problem is lack of documentation, e.g. it's hard to figure out the differences in the inline Assembler between Delphi and Lazarus.how good is Lazarus compared to Delphi
Also Compile+Link times are MUCH longer than with Delphi, and the created EXE files are HUGE because they contain all the debug info. I really don't understand why they aren't put in a separate file. This would certainly make the link process much faster (EXE file writing is very slow due to virus scanners).
There are also some bugs, e.g. the str() function doesn't put a terminating 0 when using pchar/array of char variables.
But all in all it's OK on a fast computer.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Hi Christian.
So, are we to assume that the next TC version's (i guess 8.0) main "feature" will be that it will be compiled in Lazarus and it will come in two "flavors" (32-bit and 64-bit)? If so, it will be a pretty big challenge to have a bug-free release. Every single TC feature will have to be re-tested...
So, are we to assume that the next TC version's (i guess 8.0) main "feature" will be that it will be compiled in Lazarus and it will come in two "flavors" (32-bit and 64-bit)? If so, it will be a pretty big challenge to have a bug-free release. Every single TC feature will have to be re-tested...
- Wanderer -
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Normally using latest TC on:
x32: WinXPx32 SP3 (very rarely nowadays).
x64: Clients/Servers - Win10/Win11 and Win2K16 to Win2K22, mainly Win10 though.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Normally using latest TC on:
x32: WinXPx32 SP3 (very rarely nowadays).
x64: Clients/Servers - Win10/Win11 and Win2K16 to Win2K22, mainly Win10 though.
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Indeed that takes most of the time. Therefore I will probably have to release a 7.56 bugfix version based on Delphi first.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
@ghisler
We all know you spent years writing WC/TC.
I know that I as a full time developer have hacked in about 75k line of code this year, so I'll likely hit my 100k target again. (Ok, I'm lucky I only write new stuff, dont maintain code)
But how many lines of code is TC? Or how many bytes of source (w/o resources)?
And, I secretly think you're awesome... I started my developer carreer in pascal/delphi then I found c/c++ and never turned back to my old love... but it's to be used for my big love TC.
We all know you spent years writing WC/TC.
I know that I as a full time developer have hacked in about 75k line of code this year, so I'll likely hit my 100k target again. (Ok, I'm lucky I only write new stuff, dont maintain code)
But how many lines of code is TC? Or how many bytes of source (w/o resources)?
And, I secretly think you're awesome... I started my developer carreer in pascal/delphi then I found c/c++ and never turned back to my old love... but it's to be used for my big love TC.
I was born with Norton Commander, grew up with DCC, after school I played with Windows Commander, graduated, married and had kids with Total Commander and will die using whatever its called then Commander.
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I have just checked it, the *.pas files alone are a bit more than 10 Megabytes.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Doesn't "strip" help to have the exe without debug info? More info hereghisler(Author) wrote: Also Compile+Link times are MUCH longer than with Delphi, and the created EXE files are HUGE because they contain all the debug info. I really don't understand why they aren't put in a separate file. This would certainly make the link process much faster (EXE file writing is very slow due to virus scanners).
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Yes it does, but that's not the point. If it would put the debug info in a separate file from the beginning, linking would be much faster, and the stripped file could still be debugged...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
ghisler(Author) wrote:Is Lazarus a Cross Compiler? Can it also compile for MacOS or Linux?
Btw, since Friday, TC compiles in 64-bit Lazarus.
Unfortunately many functions don't work yet, or work incorrectly, but the basics already work: Directory browsing, archive browsing, unzip, ftp, Lister (partially), Synchronize dirs, compare by content, change attributes have been tested.
The most work was needed for updating Assembler functions to 64-bit, and for variables which changed from 32-bit to 64-bit. There is still a lot of work to do until everything works as it should, e.g. porting support dlls like the zip packer to 64-bit.