Code: Select all
Import "zlibwapi.lib" ; zlib from http://www.winimage.com/zLibDll/zlib123dll.zip
fclose_file_func() As "_fclose_file_func"
ferror_file_func() As "_ferror_file_func"
fopen_file_func() As "_fopen_file_func"
fread_file_func() As "_fread_file_func"
fseek_file_func() As "_fseek_file_func"
ftell_file_func() As "_ftell_file_func"
fwrite_file_func() As "_fwrite_file_func"
EndImport
Structure pzlib_filefunc_def
zopen_file.l
zread_file.l
zwrite_file.l
ztell_file.l
zseek_file.l
zclose_file.l
zerror_file.l
opaque.l
EndStructure
ProcedureDLL Dummy()
zFileFunctions.pzlib_filefunc_def
zFileFunctions\zopen_file = @fopen_file_func()
zFileFunctions\zread_file = @fread_file_func()
zFileFunctions\zwrite_file = @fwrite_file_func()
zFileFunctions\ztell_file = @ftell_file_func()
zFileFunctions\zseek_file = @fseek_file_func()
zFileFunctions\zclose_file = @fclose_file_func()
zFileFunctions\zerror_file = @ferror_file_func()
zFileFunctions\opaque = #Null
EndProcedure
Tailbite wrote:FAsm: Dummy.asm
Error
Line no: 22
Error code: -122
Error String: UNDEFINED_SYMBOL
I think "EXTRN _fopen_file_func" is missing in Dummy.asmDummy.asm wrote: ...
zFileFunctions\zopen_file = @fopen_file_func()
MOV eax,_fopen_file_func <----------------
...
Workaround :
Code: Select all
Import "zlibwapi.lib" ; zlib from http://www.winimage.com/zLibDll/zlib123dll.zip
fclose_file_func() As "_fclose_file_func"
ferror_file_func() As "_ferror_file_func"
fopen_file_func() As "_fopen_file_func"
fread_file_func() As "_fread_file_func"
fseek_file_func() As "_fseek_file_func"
ftell_file_func() As "_ftell_file_func"
fwrite_file_func() As "_fwrite_file_func"
EndImport
Structure pzlib_filefunc_def
zopen_file.l
zread_file.l
zwrite_file.l
ztell_file.l
zseek_file.l
zclose_file.l
zerror_file.l
opaque.l
EndStructure
ProcedureDLL Dummy()
;{ Tailbite workaround !
If 0 = 1
fopen_file_func()
fread_file_func()
fwrite_file_func()
ftell_file_func()
fseek_file_func()
fclose_file_func()
ferror_file_func()
EndIf ;}
zFileFunctions.pzlib_filefunc_def
zFileFunctions\zopen_file = @fopen_file_func()
zFileFunctions\zread_file = @fread_file_func()
zFileFunctions\zwrite_file = @fwrite_file_func()
zFileFunctions\ztell_file = @ftell_file_func()
zFileFunctions\zseek_file = @fseek_file_func()
zFileFunctions\zclose_file = @fclose_file_func()
zFileFunctions\zerror_file = @ferror_file_func()
zFileFunctions\opaque = #Null
EndProcedure