[AccessD] Broken Reference

Rocky Smolin - Beach Access Software bchacc at san.rr.com
Mon Aug 7 13:07:49 CDT 2006


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
>>
>>  
>>
>>     
>
>   

-- 
Rocky Smolin
Beach Access Software
858-259-4334
www.e-z-mrp.com




More information about the AccessD mailing list