Page 14 of 20

Posted: Thu Jul 07, 2005 7:19 am
by Mr.Mouse
Yep. And it's already possible to create activeX plugins. There's been some document on that in the past

Posted: Sat Jul 09, 2005 6:03 pm
by Rahly
Adding a new function, i noticed the only way to get info from archives was to use Find, which sucks if the archive doesn't support names, so i'm adding a function to get info via index number as well. I'm also toying with the idea of pulling out the Field Data from the find, this will make it easier to upgrade in the future, also taking out most of the FindDataInfo structure including filename.

Posted: Sat Jul 09, 2005 6:15 pm
by Mr.Mouse
Okido !

Posted: Thu Jul 14, 2005 9:10 pm
by Rahly
the find system has been completely replaced for something a little easier to use. No more crazy structures

Posted: Thu Jul 14, 2005 9:18 pm
by Mr.Mouse
Allright! People keep pushing me to release the new version, along with a new Scriptor/Binder, so that's good news. ;)

Posted: Thu Jul 14, 2005 9:19 pm
by Rahly
oops, clicked submit by accident

Code: Select all

function mpFindFirstFile(ArchiveHandle: Integer; FileMask: PChar): LongWord;
for the manager though it'll be

Code: Select all

function mpFindFirstFile(FormatIndex: Integer; ArchiveHandle: Integer; FileMask: PChar): LongWord;
next

Code: Select all

function mpFindNextFile(Handle: Integer): LongBool;

Code: Select all

function mpFindNextFile(FormatIndex: Integer; Handle: LongWord): LongBool;
to get information from the find

Code: Select all

function mpFindInfo(ArchiveHandle: Integer; Handle: LongWord; Field: PChar): PChar;

Code: Select all

function mpFindInfo(FormatIndex: Integer; ArchiveHandle: Integer; Handle: LongWord; Field: PChar): PChar;
also added a function for if the archive supports ByIndex

Code: Select all

function mpIndexedInfo(ArchiveHandle: Integer; Index: Integer; Field: PChar): PChar;

Code: Select all

function mpIndexedInfo(FormatIndex: Integer; ArchiveHandle: Integer; Index: Integer; Field: PChar): PChar;
Field Information is polled by mpGetOptions using the
OPTIONTYPE_FILEINFO option.

Posted: Thu Jul 14, 2005 9:26 pm
by Rahly
File information will be in a Format


<name>=<type>[:<size>];<name>=<type>[:<size>];

i'm defining certain static types

STRING, UINT8, UINT16, UINT32, UINT64, INT8, INT16, INT32, INT64, and DATE

so FAR

for example, FILENAME=STRING:5 = Filename is a string of characters, with a max size of 5 characters, DATE is a special case

for example 'FILEDATE=DATE;ARCHIVEDATE=DATE'

when you ask for the date you can pass format of the date, 'FILEDATE=YYYY MM DD'
or use whatever is defined in the system (if format not defined)
'FILEDATE='

Posted: Thu Jul 14, 2005 9:30 pm
by Rahly
Almost forgot, the test plugin is litered with error information for mpGetLastError(), i'll also release a list of error values and meanings

Posted: Thu Jul 14, 2005 9:40 pm
by Mr.Mouse
Ok, good to know. How to address them.

Posted: Thu Jul 14, 2005 11:38 pm
by Rahly
ok, question for ya?

Extracting files

mpExportFileByNameToFile(Format, Handle, "*.WAV", "C:\AllMyWavs\")

should the plugin assume the directory exists? or should plugins force directories to exist?

Posted: Thu Jul 14, 2005 11:49 pm
by Dinoguy1000
Rahly wrote:ok, question for ya?

Extracting files

mpExportFileByNameToFile(Format, Handle, "*.WAV", "C:\AllMyWavs")

should the plugin assume the directory exists? or should plugins force directories to exist?
Sorry for butting in like this, but I just had to say my thoughts.

Perhaps the plugin should first check for the existance of the directory, proceeding if it exhists, but asking the user if they would like to create it or specify a different directory if it doesn't...

Once again, just my thoughts...

Posted: Thu Jul 14, 2005 11:52 pm
by Rahly
If thats the case, then it shouldn't be the plugins job, (plugin should fail/not create the directories) and it should be handled by the application.

Posted: Fri Jul 15, 2005 2:03 am
by Rahly
Only things left right now are

The 2 Import functions and the 2 new Remove functions for the test plugin.

Posted: Fri Jul 15, 2005 6:43 am
by Mr.Mouse
Rahly wrote:If thats the case, then it shouldn't be the plugins job, (plugin should fail/not create the directories) and it should be handled by the application.
I agree. That really isn't the plugin's job, it's the caller's job, in this case MultiEx Commander.

The way I see it, the user will always have to point to a directory anyway to extract in to, so that will always exist. Any subdirectories should be created, more so, when files with the same name are in different subdirs in the archive. If not allowing for subdir creation, it get's a bit messy. I think it's the end-user's job to know where he extracts what. And the plugin should just go and extract/create subdirs/overwrite files already in existing files.

Posted: Sat Jul 23, 2005 5:33 pm
by Rahly
I'm thinking about removing the function

mpImportFileByIndexFromFile
mpImportFileByIndexFromStream

I don't see how this would work anyway.

and changing

mpImportFileByNameFromFile to

mpImportFileFromFile

and mpImportFileByNameFromStream to

mpImportFileFromStream