Re: VB5 Long & Double to VB.NET



Hi Tom,

Thanks for the help. Long to int32 did the trick. As I am calculating
astrological positions I find that there are some small differences between
the Access VBA results and VB.NET for the Sun and Moon of a couple of arc
seconds each that I will need to check out, apart from that all is working
out just fine now. It's great to finally get my first VB.NET solution
working thanks.

Regards
Terry



"Tom Shelton" <tom_shelton@xxxxxxxxxxx> wrote in message
news:1169497591.732089.96660@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Terry wrote:
I have some old VB5 functions that specify types of Long and Double that
make calls to an unmanaged 3rd party DLL probably just as old. The source
for the DLL is not available.

I'm getting some warnings "PInvoke..unbalanced stack..." etc. Reading up
a
bit on this and trying to understand this particular warning, I find that
part of the problem could be in the mismatch of allocated space for the
variables, e.g. VB5 Long is not the same as VB2005 Long.

Another part is to do with the CallingConvention and for this I'm not
all
too sure how to set this up.

Have I understood this warning and is there something that may be done to
correct the problem? I will add that I am converting an Access 2K3 VBA
application to VB.NET 2005. In the Access app all worked OK.

Regards

Terry - the problem is most likely data size. Up until .NET, you
couldn't call anything but stdcall functions with declare statements
(without hacks). VB.NET will let you call cdecl, but stdcall is the
default.

In VB5/6 a Long was 32-bit. In VB.NET it is 64-bit. You need to
change it to Integer (32-bit in VB.NET). If making your datatypes the
right size doesn't fix the issue - then you might want to post the
function declarations (old and new).

--
Tom Shelton



.



Relevant Pages

  • Re: VB5 Long & Double to VB.NET
    ... make calls to an unmanaged 3rd party DLL probably just as old. ... Have I understood this warning and is there something that may be done to ... Terry - the problem is most likely data size. ... couldn't call anything but stdcall functions with declare statements ...
    (microsoft.public.dotnet.languages.vb)
  • VB5 Long & Double to VB.NET
    ... I have some old VB5 functions that specify types of Long and Double that ... make calls to an unmanaged 3rd party DLL probably just as old. ... Have I understood this warning and is there something that may be done to ... In the Access app all worked OK. ...
    (microsoft.public.dotnet.languages.vb)
  • LNK4003: invalid library format -- why?
    ... party DLL. ... When I try to link I get the error message ... along with the warning: ... missing export function in a delay-load dependent module." ...
    (microsoft.public.vc.language)

Loading