I know, that HLA is not the best. Pure MASM would be better.
(so don?t kill me for that)

I have a DLL compiled by Borland C Builder 6. When I try to compile the hla main file (which tries to contact the DLL) with:

hla test.hla mydll.lib

I get the result: invalid or corrupt file

This is my .lib file...

Does anybody have a solution for this ?
Does HLA works only with HLA(MASM) compiled DLLs ?

thx for any hint
Posted on 2002-07-02 15:00:45 by Zero
What object file format does hla assembler produce? I know Borland uses OMF and Microsoft uses COFF. Borland frequently includes coff2omf tool with its products, so people could use Microsoft produced libraries with Borland linker. No idea about HLA.
Posted on 2002-07-02 17:19:42 by comrade
Try posting on alt.lang.asm.x86. Randall Hyde, the author of HLA posts a lot there.
Posted on 2002-07-02 21:31:37 by grv575
thx for your help.

Inprise has COFF2OMF, but not OMF2COFF.

As we can read in the Borland Help:
"Coff2Omf enables C++Builder users to link to Microsoft and other third-party DLLs that use the COFF format. Coff2Omf does not convert .OBJ files."

So I am not able to convert the Borland OMF to a masm compatible COFF DLL (.lib).

So there is maybe the only way to attach "non"-Masm DLLs to code them with M$ VC++.

Finally this is no problem of HLA, it is a problem of the .lib format.

Posted on 2002-07-03 01:34:39 by Zero
The MS linker will convert OMF .obj files to COFF before linking. The COFF version of an OMF file is temporary.

The .lib files are not converted. You can use a .def file to produce the COFF .lib files.
Posted on 2002-07-03 02:59:10 by tenkey

The MS linker will convert OMF .obj files to COFF before linking.

It will? That never ever seemed to work for me :). Oh well, must have
been when I used old linker versions.

Zero, make your own (ar-mscoff) import library for the DLL - shouldn't
be too hard to get going.
Posted on 2002-07-03 05:18:39 by f0dder
You can use the Borland DLL Wizard to make a M$ VC++ DLL.
This does not works too.
It seems that Borland produces a lib file, which has some slight differences from the M$ file.
Posted on 2002-07-03 12:11:00 by Zero