Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Using Created DLL's in other programs 1

Status
Not open for further replies.

hblackorby

Programmer
Feb 13, 2001
164
US
Hi,
I've created a DLL that does some basic SMPT mailing stuff, and it works fine in VB and ASP. I have a friend who wants to use it in Authorware, but when he tries to load the DLL there, it says there are no defined functions in the DLL. It then comes up with a box to define functions, so we inputed the one public function the DLL has. It then says it can't find that function.

I know this may be an Authorware question, but does anyone know how to make certain publich functions become defined?

Any help would be appreciated.

Thank you,
Harold Blackorby
hblackorby@scoreinteractive.com Harold Blackorby
hblackorby@scoreinteractive.com
St. Louis, MO
 
What technology did you use to create the DLL?

If you used VB, then the DLL is a COM DLL, and Authorware would have to know how to call arbitrary COM functions.

If you used VC++, then it may either be a COM DLL (see above), or a Win32 DLL. If the later, then you need to make sure that when you exported the functions from the DLL, you didn't use __declspec(dllexport), but rather put the functions in the .DEF file. Authorware would again need to know how to load a Win32 DLL.

Chip H.
 
I used Visual Basic. Authorware loads DLL's ok normally, but it keeps saying it can't find the SentMail function (which is public). I wasn't sure if there was some sort of function definition area I'm supposed to declare. When I load the DLL as a reference in another Visual Basic program, the function shows up fine in the Object Explorer for that DLL. Harold Blackorby
hblackorby@scoreinteractive.com
St. Louis, MO
 
hi,
make sure u dont pass user-defined types(structure in c++) by value in vb apps they should be passed by reference.
moarrar,hope that helps.
 
Hi,

There is no definition area - the first response above gave the clue: VB makes COM+ Dll's and not WIN32 Dll's. I do not know what Authorware needs but it sounds very much like it wants a WIN32 Dll.

You will be able to execute the Dll from another VB app because the app is expecting a COM+ Dll.

Why are you wanting to use Authorware anyway?

If you really need to use Authorware and Authorware requires a WIN32 Dll, my suggestion is to write a C++ stud WIN32 Dll to sit between Authorware and you VB Dll.

Cheers.
 
oops ........

The last paragraph to the previous reply should read:

If you really need to use Authorware and Authorware requires a WIN32 Dll, my suggestion is to write a C++ stub WIN32 Dll to sit between Authorware and your VB Dll.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top