View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Trip[_2_] Trip[_2_] is offline
external usenet poster
 
Posts: 6
Default Calling a DLL Trouble

I'm sorry if this appears more than once, I've been having trouble posting
to this group...



Hello all,



I could use some help here...



I have a dll called LindAccessComponent.dll which is registered with Windows
and included as a reference under Tools - References.



I'm copying the code from VB6 to VBA but can't get it to work.



In VB6 FormMain loads and does this in Form_Load()...

Set iConnect = New LIND_ACCESS_COMPONENTLib.LindAccess

Set iLeg = iConnect

Set iOrder = iConnect

Set iCheck = iConnect



and in the form's declaration section there is this...

Public WithEvents iConnect As LIND_ACCESS_COMPONENTLib.LindAccess

Dim iOrder As LIND_ACCESS_COMPONENTLib.iOrder

Dim iLeg As LIND_ACCESS_COMPONENTLib.iLeg

Dim iCheck As LIND_ACCESS_COMPONENTLib.iCheck



and as a result any procedure within the form that uses iConnect, etc. knows
what iConnect is.



In Excel VBA I have done this...

In Sheet2's declaration section I have....

Public WithEvents iConnect As LIND_ACCESS_COMPONENTLib.LindAccess

Public iOrder As LIND_ACCESS_COMPONENTLib.iOrder

Public iLeg As LIND_ACCESS_COMPONENTLib.iLeg

Public iCheck As LIND_ACCESS_COMPONENTLib.iCheck



In ThisWorkbook I call a sub from Workbook_Open() that does...

Set iConnect = New LIND_ACCESS_COMPONENTLib.LindAccess

Set iLeg = iConnect

Set iOrder = iConnect

Set iCheck = iConnect



BUT... whenever I try to use iConnect.anything I get an "Object Required"
error. What am I doing wrong?? If I put Set iConnect = New
LIND_ACCESS_COMPONENTLib.LindAccess in each proceudre it works - but I'm
pretty sure that this is not the right way to do it.



Any direction would be greatly appreciated!



Thanks!