VB6/GMP via PowerBasic Wrapper DLL
peter
orangepi77 at yahoo.com
Wed Jul 5 14:27:09 CEST 2006
hi
thanks for the reply,
i am still trying to run just the mpf_init from VB6
i have compiled the following lines into the pbgmp.dll: the pb compiler v8.x does not issue errors:
#COMPILE DLL "pbgmp"
TYPE MPF
mp_prec AS LONG
mp_size AS LONG
mp_expt AS LONG
mp_limb AS LONG
END TYPE
DECLARE SUB cMPFinit CDECL LIB "libgmp-3.dll" ALIAS "__gmpf_init" (X AS MPF)
DECLARE SUB cMPFclear CDECL LIB "libgmp-3.dll" ALIAS "__gmpf_clear" (X AS MPF)
SUB MPFinit ALIAS "mpf_init" (x AS MPF) EXPORT
CALL cMPFinit(x)
END SUB
SUB MPFclear ALIAS "mpf_clear" (x AS MPF) EXPORT
CALL cMPFclear(x)
END SUB
and put the pbgmp.dll with libgmp-3.dll and VB6 code in the same folder:
i run VB6 and write the following in a Module1.bas:
Type MPF
mp_prec As Long
mp_size As Long
mp_expt As Long
mp_limb As Long
End Type
Declare Sub mpf_init Lib "pbgmp.dll" (x As MPF)
Declare Sub mpf_clear Lib "pbgmp.dll" (x As MPF)
and in the Form :
Private Sub Command1_Click()
Dim n As MPF
mpf_init (n)
End Sub
but VB6 will issue the error message:
variable required - can't assign to this expression, highlighing the (n) in mpf_init (n)
whats wrong? i have looked at a code in the PurBasic forum:
http://www.purebasic.fr/english/viewtopic.php?t=10776&start=0&postdays=0&postorder=asc&highlight=&sid=1dc7bfe4a44f32ac9dcfb11f57ab8a80
there is a successfull code to call the GMP dll about in the half part of the long page, i have tried it successfully, the call to GMP dll is directly without a wrapper.
some of the first parts of the code:
Structure mpf ; multiprecision floating point
mp_prec.l
mp_size.l
mp_expt.l
mp_limb.l
EndStructure
x.mpf
y.mpf
z.mpf
CallFunction(1,"__gmpf_init2",x,256); initialize float number x with 256 bits precision
but i am still have a desire to Call GMP functions from VB6 , there are still millions of people who are using it for its simple, rapid and friendly way
please any suggestions,
thanks very much
---------------------------------
Sneak preview the all-new Yahoo.com. It's not radically different. Just radically better.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gmplib.org/list-archives/gmp-discuss/attachments/20060705/aa8e97b7/attachment.html
More information about the gmp-discuss
mailing list