Converting plugins to 64-bit - reward

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

Moderators: white, sheep, Hacker, Stefan2

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Converting plugins to 64-bit - reward

Post by *ghisler(Author) » 2011-09-16, 12:01 UTC

Dear plugin writers!

Here you can find some information to convert your existing plugins to 64-bit. With the right tools, it can be done quite easily with only a few changes needed. The plugin interface is unchanged, just pointers and handles are now 64-bit wide.

How to convert plugins to 64-bit?
Please download the latest plugin writer's guide for your plugin:
Packer plugins
File system plugins
Lister plugins
Content plugins

We offer a reward of US$ 100 for each plugin converted to 64-bit (reward per plugin, not per author). Only plugins listed on September 16, 2011 or before on www.ghisler.com or www.totalcmd.net qualify.
In a first phase, only the original plugin writers may get the reward. If the plugin isn't converted to 64-bit until the release of TC 8 final, we will offer the same reward to anyone who creates the first conversion to 64-bit, or (if the plugin isn't open source) writes a working alternative of that plugin.
$100 isn't much, but there are over 500 plugins on totalcmd.net alone...

Why the limit to www.ghisler.com and www.totalcmd.net?
These are the main plugin sites. We link to www.totalcmd.net ourselves, so people will look there first for plugins. If you have written a really useful plugin and published it elsewhere, we may consider to include you in this offer if you put the plugin on
www.totalcmd.net too.

Why the limit to plugins published before September 16, 2011?
We want to avoid that someone publishes 1000s of variations of a simple plugin, and requests $100 for each.

Btw, an overview of all 64-bit plugins can be found in the Wiki:
http://ghisler.ch/wiki/index.php/List_of_64-bit_plugins

Edit (2012-05-30)
Now that TC8 final is available, I'm offering the reward for porting to 64-bit also to third party authors. The conditions are:
1. The plugin should support at least the main feature of the 32-bit only plugin.
2. The author needs to put it on Totalcmd.net, give it a similar name as the old unsupported plugin, and send me the link
3. If there is more than one alternative plugin, those coming later will get the reward only if they do significantly more than the first replacement. For example, if the first replacement packer plugin only does unpacking, and the second then also supports packing, or additional formats. We alone decide whether there will be a reward or not. The decision is final.
4. The reward is $100 for plugins where the source is available - then it's often just a question of recompiling with a few minor tweaks. I'm willing to negotiate a higher reward for plugins where no source is available, but please contact me before starting to write the plugin. No higher reward will be available if it isn't negotiated in advance.

Christian Ghisler
Last edited by ghisler(Author) on 2012-05-30, 13:26 UTC, edited 3 times in total.
Author of Total Commander
http://www.ghisler.com

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-10-02, 16:16 UTC

Two notes:
1. There is a bug in packer plugin interface: TC passes 0xFFFFFFFF (32bit) instead of INVALID_HANDLE_VALUE (64 bit, 0xFFFFFFFFFFFFFFFF) to SetProcessDataProc and SetChangeVolProc. This will be fixed in beta 4.

2. Plugin writers can also get a few free licences for their friends and relatives instead of money if they prefer.
Author of Total Commander
http://www.ghisler.com

J.Bl
Member
Member
Posts: 116
Joined: 2005-01-23, 16:29 UTC

Re: Converting plugins to 64-bit - reward

Post by *J.Bl » 2011-10-03, 12:30 UTC

ghisler(Author) wrote:Content plugins
In the Contentpluginhelp2.1.zip (see the link above), the Part 7. New: 64-bit Support (as inserted in the other plugin helps) is missing. Please add this part about 64bit to the Content Plugin Help.

I allways missing of an "official" description of the Plugin installation archiv fomat. Maybe this is a good moment to make a pdf decription of it. Because new in this moment is how to add the wdx64 to the archiv. (for example: Are there changes for 64bit in the pluginst.inf?, What is the file format of pluginst.inf in general? ...)

J.Bl

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-10-03, 21:38 UTC

Thanks for the warning, I have updated the download link.
Author of Total Commander
http://www.ghisler.com

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-10-03, 21:38 UTC

Are there changes for 64bit in the pluginst.inf?
No.
Author of Total Commander
http://www.ghisler.com

User avatar
MVV
Power Member
Power Member
Posts: 8121
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2011-10-04, 07:34 UTC

I don't see any notes about 64-bit versions in any of plugin documentations...
contentplugin.HLP 05/24/11
FSPLUGIN.HLP 07/23/10
listplugin.hlp 01/06/10
WCX Writer's Reference.hlp 09/28/10
I considered that were no changes in interface of content and FS plugins when updated my ones (return types are all 32-bit, content fields also have exact types, the only thing that changes - pointers become 64-bit, but types are still unchanged).

User avatar
Flint
Power Member
Power Member
Posts: 3159
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Post by *Flint » 2011-10-04, 12:43 UTC

MVV wrote:I don't see any notes about 64-bit versions in any of plugin documentations...
Download the docs by the links from the first post. They all contain a new page named "64-bit support".
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 9.21rc1 / Win7 x64 SP1, Win10 x64

User avatar
MVV
Power Member
Power Member
Posts: 8121
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2011-10-04, 13:43 UTC

Flint wrote:
MVV wrote:I don't see any notes about 64-bit versions in any of plugin documentations...
Download the docs by the links from the first post. They all contain a new page named "64-bit support".
Wow, really. :D I was thinking that links in Addons section are also updated.

User avatar
Alextp
Power Member
Power Member
Posts: 2321
Joined: 2004-08-16, 22:35 UTC
Location: Russian Federation
Contact:

Post by *Alextp » 2011-10-07, 14:49 UTC

4. The calculation p-buffer is not working when p is a pwidechar, buffer an array of widechar -> use p-pwidechar(@bufffer)
What the heck is "calculation p-buffer". Don't understand this.

User avatar
MVV
Power Member
Power Member
Posts: 8121
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2011-10-07, 16:18 UTC

Alextp, buffer and p are pointers, and p-buffer is distance between buffer and p. :)

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-10-09, 13:45 UTC

Examples of what isn't working:

Code: Select all

var p:pchar;
      buffer:array[0..259] of char;
begin
  strcopy(buffer,"this is a test");
  p:=strend(buffer);
  while (p>=buffer) do begin
     // do something, e.g. if p[0]=' ' then p[0]:=#9;
     dec(p);
  end;
end;


The comparison p>buffer is not working in Lazarus both for pchar/array of char and pwidechar/array of widechar. This works just fine in Delphi! It should work in Lazarus at least when using {$mode delphi}.
Author of Total Commander
http://www.ghisler.com

User avatar
Alextp
Power Member
Power Member
Posts: 2321
Joined: 2004-08-16, 22:35 UTC
Location: Russian Federation
Contact:

Post by *Alextp » 2011-10-09, 14:26 UTC

U use very outdated Delphi style(method). asciiz. Normal strings better

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36439
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-10-10, 12:54 UTC

I have many 100s of these constructs in my code, so I can't simply convert them all. I need to replace them by something like

Code: Select all

while (p>=pchar(@buffer)) do begin
The problem is that Lazarus doesn't even warn me that it cannot handle this, so they are very difficult to find.
Author of Total Commander
http://www.ghisler.com

User avatar
Alextp
Power Member
Power Member
Posts: 2321
Joined: 2004-08-16, 22:35 UTC
Location: Russian Federation
Contact:

Post by *Alextp » 2011-10-10, 13:04 UTC

-The problem is that Lazarus doesn't even warn me

Ok. Need to post Laz report.

User avatar
Hacker
Moderator
Moderator
Posts: 11025
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2011-10-23, 01:11 UTC

Message from moderator

[OT] posts moved to Plugin writer guides in CHM format?

Hacker (Moderator)
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

Post Reply