[AccessD] Broken Reference

MartyConnelly martyconnelly at shaw.ca
Mon Aug 7 13:27:02 CDT 2006


Err the Object Browser should tell you the data type being returned.
if you have the reference set.

MartyConnelly wrote:

>If you are setting it, you must be returning an object rather than a 
>variant.
>Set a reference to bartender and look at the values in the Object Browser
>libary for Bartender to see what they should be set to.
>
>Rocky Smolin - Beach Access Software wrote:
>
>  
>
>>Marty:
>>
>>I deleted the Reference to Bartender and changed the declarations to:
>>
>>Public BtApp As Object 'BarTender.Application
>>Public BtFormat As Variant 'BarTender.Format
>>
>>In the load event I put:
>>
>>Set BtApp = CreateObject("BarTender.Application")
>>In the Print event however, on the line
>>
>>Set BtFormat = BtApp.Formats.Open(Me.fldFABLabelFile)
>>
>>I get an 'argument not optional' error.  With the old declarations it 
>>worked.  Any idea what's going wrong?
>>
>>Thanks and regards,
>>
>>Rocky
>>
>>
>>MartyConnelly wrote:
>> 
>>
>>    
>>
>>>You are mixing Early and Late Binding methods
>>>First remove the reference
>>>Then just change your declarations to things like
>>>
>>>Public BtApp As Object 'BarTender.Application
>>>Public BtFormat As String 'BarTender.Format
>>>
>>>
>>>If you are unsure of the type returned  try using  a variant
>>>especially in the case of returned arrays.
>>>
>>>or leave both types in and do a conditional compile around them
>>>
>>>#Const DebugVersion = 0
>>>
>>>#if DebugVersion = 1 then
>>>   Dim wa as  BarTender.Application
>>>   Set wa = new BarTender.Application
>>>#else
>>>   Dim wa as Object
>>>   set wa = createobject ("BarTender.Application")
>>>#endif
>>>You'l have to set the flag to 1
>>>   (#Const DebugVersion = 1)
>>>and then add a reference to Bartender
>>>for the debug intellisence to work..
>>>
>>>Then to check if Bartender is actually installed  on the machine
>>>
>>> On Error Resume Next
>>>Set objExcelapp = CreateObject("BarTender.Application")
>>>If Err.Number Then
>>>    MsgBox "Bartender not installed or not registered for Automation"
>>>    Exit Sub
>>> End If
>>>'reset error
>>>
>>>
>>>
>>>
>>>Rocky Smolin - Beach Access Software wrote:
>>>
>>> 
>>>   
>>>
>>>      
>>>
>>>>Dear List:
>>>>
>>>>I have a client who prints bar coded labels through an application 
>>>>called Bartender (cute, huh?).  I wrote a production management system 
>>>>for them which contains all the information in the db that they are 
>>>>inputting manually into Bartender.  So the client asked me to add a 
>>>>function to the app to run Bartender from the production system and that 
>>>>is working great. 
>>>>
>>>>To do this I downloaded and installed the trial version of Bartender and 
>>>>so was able to set a reference to it in the VBA code so I could run 
>>>>Bartender from the client's app (stuff like Public BtApp As 
>>>>BarTender.Application and Public BtFormat As BarTender.Format and Set 
>>>>BtApp = CreateObject("BarTender.Application")).
>>>>
>>>>Problem is that the app won't run on any machine which doesn't have 
>>>>Bartender loaded - it gets a broken reference error when the app opens.
>>>>
>>>>So I'm wondering how to handle this.  Perhaps I unset the reference in 
>>>>the Tools-->References and set it when the bar code form opens?  Or is 
>>>>there a way to trap and get around this error when the app loads?
>>>>
>>>>What's the best way to handle this?
>>>>
>>>>MTIA,
>>>>
>>>>Rocky
>>>>
>>>>
>>>>
>>>>   
>>>>     
>>>>
>>>>        
>>>>
>>> 
>>>   
>>>
>>>      
>>>
>> 
>>
>>    
>>
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada




More information about the AccessD mailing list