declare API without direct file name

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

hi, i need to have a declare statement for an API to call a method in it, the
only problem is that i dont neccessarily know where on the comp it will be. I
kno it will be in my application folder, but how do i say that in the
declares statement? for instance, i have this

Private Declare Sub AccCreateSession Lib "acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but it cant find it, ive also tried

Private Declare Sub AccCreateSession Lib "..\acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but that doesnt work either.....how can i do this?
 
iwdu15 said:
hi, i need to have a declare statement for an API to call a method in it, the
only problem is that i dont neccessarily know where on the comp it will be. I
kno it will be in my application folder, but how do i say that in the
declares statement? for instance, i have this

Private Declare Sub AccCreateSession Lib "acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but it cant find it, ive also tried

Private Declare Sub AccCreateSession Lib "..\acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but that doesnt work either.....how can i do this?

What error do you get exactly? The declare will find the dll as long
as it is in the search path, and by default the current directory is in
that path....
 
iwdu15 said:
hi, i need to have a declare statement for an API to call a method in it,
the
only problem is that i dont neccessarily know where on the comp it will
be. I
kno it will be in my application folder, but how do i say that in the
declares statement? for instance, i have this

Private Declare Sub AccCreateSession Lib "acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but it cant find it, ive also tried

Private Declare Sub AccCreateSession Lib "..\acccore.dll" Alias "#111" _
(<MarshalAs(UnmanagedType.LPStruct)> ByVal Name As Guid,
<MarshalAs(UnmanagedType.IDispatch)> ByRef session As Object)

but that doesnt work either.....how can i do this?

Are you really sure the DLL is in the directory where your executable file
resides? You may have to copy the DLL to your project's "bin" folder in
order to be able to start the application from within the IDE.
 
im positive its there...i copied it myself. it was originally in a directory
off of C:\ but then to release my app, i copied to the Bin directory, and
changed the code to what i showed above. making sure i was running in Debug
mode, it wouldnt find the dll.....
 
the dll is in the "bin" directory, as is the application. i get an error
saying it could not load the said module....but when i hardcode the path it
works
 
il also add, if it helps, that this is a COM object. I have to declare it
like so to have the dll create an object for me. I also have it imported in
my references....if this helps at all
 
Back
Top