Joe Hecht
jmhecht at earthlink.net
Wed Aug 9 13:30:57 CDT 2006
I thought bartender exe was for when all code was fixed and done. Joe Hecht jmhecht at earthlink.net -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, August 09, 2006 11:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Removing a missing reference <<All the docs on the calls are in C:\Program Files\Seagull\BarTender\7.74\Automation.chm>> I thought this app sounded familiar. I used it about 10 years ago. They (Seagull Scientific) were the only ones with Windows drivers for Zebra bar code printers at the time. I used them and Bartender out on a production line. Nice to see their still in business. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Tuesday, August 08, 2006 10:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Removing a missing reference All the docs on the calls are in C:\Program Files\Seagull\BarTender\7.74\Automation.chm The VB.Net code is almost same as VBA except instantiation. This runs and prints Sub testbar() 'Declaring a BarTender application variable Dim btApp As Object 'Declaring a format variable Dim btFormat As Object 'Instantiating the BarTender object Set btApp = CreateObject("BarTender.Application") 'Setting the BarTender Application Visible btApp.Visible = True 'Setting the BarTender format to open 'the .btw template file might have to be previously saved from Bartender Set btFormat = btApp.Formats.Open("c:\temp\Format1.btw", False, "") 'Printing the label format Dim lRet As Long lRet = btFormat.PrintOut(True, True) 'Ending the BarTender process btApp.Quit (BarTender.BtSaveOptions.btDoNotSaveChanges) End Sub Rocky Smolin - Beach Access Software wrote: >Shamil: > >I tried using late binding which would work real well but partway into >the code I got an error. On the statement: > > Set BtFormat = BtApp.Formats.Open(Me.fldFABLabelFile) > >I get an 'argument not optional' error - don't know why. But the >reference is to the Bartender.exe, if that makes any difference. Using >early binding, this code works well. > >To change from early to late binding I changed > >Public BtApp As BarTender.Application >Public BtFormat As BarTender.Format > >to > >Public BtApp As Object 'BarTender.Application Public BtFormat As >Variant 'BarTender.Format > >and then in the load event: > >Set BtApp = CreateObject("BarTender.Application") > >There is no object model for Bartender so I don't know what it is >expecting for BtFormat. > >But late binding would solve the problem. > >Any ideas? > >If I want to try your other solution I'll have some questions. It's a >bit past my capabilities. > >Thanks and regards, > >Rocky > > >Shamil Salakhetdinov wrote: > > >>Rocky, >> >>I still think the easiest and the most reliable solution for your case >>is to >>use late binding. Did I miss something in this thread - why it didn't >>work for you? >> >>If you decide to not use late binding and if remove reference doesn't >>work for you - then you can use Add Reference (anyway your intention >>to use Remove Reference forces your FE to loose its compiled state as >>well as Add Reference does). >> >>I mean the following: >> >>- put all your bar code printing code into a separate library/utility >>database, set reference to bar code printing library in this database; >> >>- in your FE keep the code to check is it possible to create bar code >>printing object or not; >> >>- if it's possible to create bar code printing object then add >>reference to >>its library (code to add reference MUST BE kept in another library database >>- if executed in FE such will force FEs global vars to loose their values); >> >>Etc. >> >>This above is a flexible solution but its above description isn't a >>full story - in this case if your FE uses global variables then you >>have to create another "proxy" FE to keep start-up code, (dynamic) >>references, commandbars... and use your current FE as a library >>database - then CurrentDb if you use it becomes a problem etc. >> >>This above technique works very well - it was used in real life apps >>here and there back to the years 1998-2000 but program databases and >>their code should be refactored to be used within this technique.... >> >>It's very shortly described here - "A method to modularize MS Access >>applications" - http://smsconsulting.spb.ru/shamil_s/downloads.htm >> >>But applying it for your case looks like using "cannons to shoot at >>nightingales" - why not use simple and effective late binding? >> >>-- >>Shamil >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky >>Smolin - Beach Access Software >>Sent: Tuesday, August 08, 2006 11:45 PM >>To: Access Developers discussion and problem solving >>Subject: Re: [AccessD] Removing a missing reference >> >>Marty: >> >>Access.References.Remove refCurr still generates error: -2147319779 - Object >>library not registered. >> >>Rocky >> >> >> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com