Jump to content
Xtreme .Net Talk

How to call a 'C' DLL that worked in VB6 and doesn't with Vb.net


Recommended Posts

Guest cgchris99
Posted

I have a small app that was written in vb6 that calls a DLL that was written in C. I am having trouble even getting the new vb.net app to compile, let alone run properly.

 

Here is the declaration in the 'C' source (I didn't write the 'C' dll)

 

extern __declspec( dllexport ) long WINAPI IS_XferImage(HWND hWnd, BYTE *data, size_t dlen);

 

Here is what I did in vb.net to declare the call

 

Declare Function IS_XferImage Lib "CogISCtl" Alias "_IS_XferImage@12" _

(ByVal hWnd As Integer, ByRef data As Byte, ByVal dlen As Short) As Integer

 

One of the problem I am having is getting the hWnd of the picturebox and passing it to this function.

So I tried this

myStatus = IS_XferImage(picture1.Handle.ToInt32, myData(myPos), maxLen)

 

If I just use Picture1.Handle, I get an error. It says value of type "system pointer" cannot be converted to an integer

 

Thanks for any advice

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...