Karl Blessing
Programmer
I have downloaded the 32bit DLL for UnACE (compression software), comes with extremely limited documentation ( only a Delphi example) and a comment "I cant tell you how to link the file since there are so many programming platforms out there"<br><br>the package includes<br> -Unace.h<br> -Unace.dll<br> -Unace.def<br><br>the header reads as:<br><br><FONT FACE=monospace><br>#define ACEERR_MEM 1<br>#define ACEERR_FILES 2<br>#define ACEERR_FOUND 3<br>#define ACEERR_FULL 4<br>#define ACEERR_OPEN 5<br>#define ACEERR_READ 6<br>#define ACEERR_WRITE 7<br>#define ACEERR_CLINE 8<br>#define ACEERR_CRC 9<br>#define ACEERR_OTHER 10<br>#define ACEERR_EXISTS 11<br>#define ACEERR_END 128<br>#define ACEERR_HANDLE 129<br>#define ACEERR_CONSTANT 130<br>#define ACEERR_NOPASSW 131<br>#define ACEERR_METHOD 132<br>#define ACEERR_USER 255<br><br>#define ACEOPEN_LIST 0<br>#define ACEOPEN_EXTRACT 1<br><br>#define ACECMD_SKIP 0<br>#define ACECMD_TEST 1<br>#define ACECMD_EXTRACT 2<br><br>#define ACEVOL_REQUEST 0<br>#define ACEVOL_OPENED 1<br><br><br>#define ACESEL_YES 0<br>#define ACESEL_ALWAYS 1<br>#define ACESEL_NO 2<br>#define ACESEL_CANCEL 3<br><br>#define ACECMT_OK 0<br>#define ACECMT_SMALLBUF 1<br>#define ACECMT_NONE 255<br><br>#pragma pack(1) // structures are byte-aligned!!<br><br>struct ACEHeaderData<br>{<br> char ArcName[260];<br> char FileName[260];<br> UINT Flags;<br> UINT PackSize;<br> UINT UnpSize;<br> UINT FileCRC;<br> UINT FileTime;<br> UINT Method;<br> UINT QUAL;<br> UINT FileAttr;<br> char *CmtBuf;<br> UINT CmtBufSize;<br> UINT CmtSize;<br> UINT CmtState;<br>};<br><br>struct ACEOpenArchiveData<br>{<br> char *ArcName;<br> UINT OpenMode;<br> UINT OpenResult;<br> UINT Flags;<br> UINT Host;<br> char AV[51];<br> char *CmtBuf;<br> UINT CmtBufSize;<br> UINT CmtSize;<br> UINT CmtState;<br> int PASCAL (*ChangeVolProc)(char *ArcName,int Mode);<br> int PASCAL (*ProcessDataProc)(unsigned char *Addr,int Size);<br>};<br><br>#pragma pack()<br><br>HANDLE __stdcall ACEOpenArchive(struct ACEOpenArchiveData *ArchiveData);<br>int __stdcall ACECloseArchive(HANDLE hArcData);<br>int __stdcall ACEReadHeader(HANDLE hArcData,struct ACEHeaderData *HeaderData);<br>int __stdcall ACEProcessFile(HANDLE hArcData,int Operation,char *DestPath);<br>int __stdcall ACESetPassword(HANDLE hArcData,char *Password);<br></font><br><br>I figure that if I at least know the contants, function names and parameters, this may help me figure out how to link the native dynamic link file, anyone have a Clue? (also if you know how to do so in VB would be helpful as well)<br><br><br> <p>Karl<br><a href=mailto:kb244@kb244.8m.com>kb244@kb244.8m.com</a><br><a href= </a><br>Experienced in , or have messed with : VC++, Borland C++ Builder, VJ++6(starting),VB-Dos, VB1 thru VB6, Delphi 3 pro, Borland C++ 3(DOS), Borland C++ 4.5, HTML, ASP(somewhat), QBasic(least i didnt start with COBOL)