Brother Label Printer SDK bPac 3.1 Failed to print - printing

I've got the printer driver, P-touch Editor, b-PAC 3.1 and client tools, all 64-bit, downloaded from the Brother website and installed on my 64-bit Windows 7 laptop. The P-touch Editor works/prints fine.
However, b-PAC failed, and none of the samples worked. I debugged the code:
bool b = doc.PrintOut(1, bpac.PrintOptionConstants.bpoDefault);
where b is false. What could be wrong?

I was hitting the same problem, everything appears to work right up to the point where I called "PrintOut", which fails with error 11, "The currently specified printer is not supported".
It turns out the problem I had was with the driver. I had installed the printer driver from the CDROM that came with the label printer. Windows 7 also comes with an "in-box" driver for the printer and in fact this is the one you should install (it's marked with an "LE" at the end).
To fix the problem, all you need to do is go to the "Devices and Printers" dialog, select the printer, right click on it and select "Printer properties", select the "Advanced" tab and click "New Driver". Find the printer in the list that matches yours but with an "LE" at the end and click OK.
Printing is possible with either of the drivers using the P-Touch editor. Odd thing is, "LE" appears to stand for "Light Edition", but the "Heavy" version doesn't work!... strange.

On my Windows 10 x64 machine, I've had a similar issue using Ruby to print through the bPAC SDK (using win32ole). My code worked on another machine, but not mine.
After fighting with this for a long time, I figured out that all was fine and dandy when using the 32 bit version of the bPAC SDK (and Ruby). Don't know exactly what went wrong here, but it might be that the 64bit SDK is just broken.

I had a similar problem, so I added this after the printOut to see which code I was getting.
string sError = doc.ErrorCode
It returned Error 11, which corresponds to "Device is not supported", but the device was a QL-570 which IS supported.
To get it working, I used the following steps:
Side-install the 32bits sdk.
Open your 64bit sample.
Change target configuration platform from "any cpu" to "x86"
Compile
See also: Label printing development using b-pac SDK in a C# application

The important thing is the application that you uses.
If your app is a 32bitapp (inclusive excel) you need the bPAC SDK for 32bit even when they are running on 64-bit Windows OS.

Some printers only support 32-bit b-PAC SDK ver.
(even if you use windows 10 64-bit with Excel 64-bit)
please check:
https://support.brother.com/g/s/es/dev/en/bpac/environment/index.html

I had the same problem (printOut gave me the error code 11).
The error appeared after switching from the printer PT-9800 to PT-P950.
Trying 32 and 64bit did not work for me.
What fixed it was uninstalling the driver of the PT-9800. I found a hint in the b-PAC 3.4 SDK Help in the section Troubleshooting: "if the old label printer will no longer be used, we recommend deleting the printer driver."

Related

How to detect Windows 11 using Delphi 10.3.3

I use TOSVersion.ToString function (uses SysUtils) to detect Windows version. However this is what I get in Windows11:
Windows 10 (Version 10.0, Build 21996, 64-bit Edition)
Is there any reliable way to detect Windows 11? I'm using Delphi 10.3.3.
UPDATE: Windows 11 is officially released and I tried again.
Here is what I get:
Windows 10 (Version 10.0, Build 22000, 64-bit Edition)
As Remy pointed out: using the WinAPI you risk of being in some compatibility mode, resulting in getting a version reported that is lower than the actual.
One alternative is to check the file version of expected files, i.e.
%windir%\system32\ntoskrnl.exe or
%windir%\explorer.exe
using GetFileVersionInfo() and VerQueryValue() - the HiWord(dwFileVersionLS)
should be 22000 or higher (according to Windows NT build/release number).
Another is to look in the Registry under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ at the text values CurrentBuild and CurrentBuildNumber, checking if the highest of both is 22000 or higher.
David already wrote a detailled answer in Checking Windows version on W10 with even more alternatives, although concentrating on the high/low version numbers, not the build. But WMI might help.
(This only works in retrospective with confirmed knowledge.) Check which API exports are available: the idea is that specific functions were introduced with specific Windows releases/versions, so if importing fails for one you know you're on a version below. An outdated example and an outdated list of minimum versions per function will give you an idea. Now you "only" have to find out which new functions are introduced with Windows 11.
Those are all not bulletproof, but you could combine them and then draw conclusions. And after all that you can still try your approach to parse texts instead of relying on numbers only. It also shows how easily you can manipulate your system into reporting different versions as per which method is used.
Official major version number for Windows 11 is 10.
The official build number for the public preview of Windows 11 is
10.0.22000.168
Earlier builds:
10.0.22000.71
10.0.22000.65
10.0.22000.51
Microsoft Windows 11 FAQ
If you want to detect Preview versions, earliest build number was 10.0.22000.51 Windows 11 version history
TOSVersion relies on some hard coded names and logic to return OS name. You will have to implement your own detection, copy and modify TOSVersion record or make wrapper around it, where you can use existing logic for older versions and implement check based on Windows 11 build number to detect Windows 11.
For other general issues and approaches in detecting OS version you can refer to AmigoJack's answer
Except the very weak, atleast for me, solution of considering Windows 10 builds greater than 22000, such as Windows 11, the only solution I found which is actually working is the WMIs Win32_OperatingSystem class - Caption property.
On my dev Win10 machine, it gives the following string: Microsoft Windows 10 Pro.
On my another dev machine, with Win11 installed, the same function gives: Microsoft Windows 11 Pro.
The difference is in string values - "10" vs "11"- but this is at least something far better than the "build greater than" solution.
C# and C++ work well.
The simplest way is to get the version of Kernel32.dll and if Major Version is 10 and Build Version is >= 22000 then you have Windows 11.
See my code here: How can I find the Windows product name in Windows 11?

Foxpro 2.6 printing problem

In my school days, i developed a hotel management system in legacy programming language foxpro 2.6. Few months ago, i revived the application and its running pretty well on windows xp. But, i am stuck at printing. Right now i am printing the page to a text file. Afterward i manually open the file and call the print function on that.
I googled and found no effective tutorial or link or anything as to how can i get to print directly from foxpro 2.6. The printer is USB supported and i have tried the trick of adding another printer for virtual port LPT1 and then spooling. Nothing worked.
Later i downloaded an application which acts as a spooler and sends any file that is added to the specified directory to Printer. Still, no success.
Can anyone help me with a short example, a link or a tutorial which guides me to the printing settings in foxpro 2.6
Thanks !!
Install the printer and share it. You may need to set permissions to allow Authenticated Users to use the printer.
Add NET USE LPT1: \CRAIG\USBPRINTER to the logon script for the user's profile.
For help on logon scripts, look up "To assign a logon script to a profile" in XP Help.
Not true - it works perfectly well in Vista and Windows 7, as long as they are the 32-bit versions of those operating systems.
You might find the following useful. Disclaimer: I wrote it a long time ago.
Painless Legacy FoxPro Applications On Modern Networks

Dreamweaver data source won't work after the first try on Mac OS X

I have a problem with the Adobe Dreamweaver CS5 version 11.
I am running Mac OS X Leopard.
One fine day I found out about Adobe Dreamweaver's quick (& dirty) automated back-end programming.
I defined a data source and it worked as advertised. I setup a lot of pages and it was all fuzzy and romantic.
Next day I found out that I can't define Record-sets any more. I even tried setting up new data sources but all I get is this message:
This error message is obviously a great help... but I still thought I would consult my friends at stackoverflow!!
cheers!
Marci
Update #1
I just found out I get the same message even when I am trying to connect to a mysql database on the localhost! (I have the latest MAMP installed on my Mac Pro)

Delphi XE - Installation problem on W7/64 virtual machine

We bought Delphi XE to slowly upgrade from Delphi 6.
Delphi 6 is well working in Win7/X64.
I installed two virtual machines to test it (I planned three of them, but Virtual PC is not supports X64 guest OS).
1.) Sun VirtualBox 4.x
2.) VMWARE player latest
The guest OS is Win7/X64. Latest SP's, packs are installed.
I set local "area" settings to "english-usa".
I started the installer as admin.
The phenomenon is:
The InstallAware is starting, the progress bar is access the 100%.
After this a new InstallAware Window is starting, but later it disappeared.
Then nothing happens. Sometimes the Windows say (dialog) that setup is not working, will I reinstall it?
The event log is not containing information about the problem.
I tried to starting "setup.exe" directly with "as admin", but the result is same.
I tried to find the real setup files in "Local Settings/Temp", and starting it directly as admin, but I got same result.
So I'm very disappointment, and puzzled... We bought something that is not installable.
May I can install the XE into VPC/XP Mode; but I'm sure the somebody CAN install this software in Win7/X64... :-(
Can anybody help me, how to continue the installation?
How to "debug"?
Thanks for your help:
dd
It might be a problem with your virtual machine, i have myself issues with VirtualBox.
You also should double check if you dont have a corrupted Iso. Try to download it again to see it works.
I work in a software house that have at least 30 people working with Delphi XE on their Windows 7 machines. None of them ever reported a installation crash.
Another good question: are you executing the setup.exe as administrator?
The solution was if I copy the zip file directly into VM (not download it), and I must set ALL AREA FLAGS to USA.
The language, the area, the format settings - all things!
Then the installer simply working...
Thank you for your help!
Regards:
dd

Open CV crashes under WIN7 when opening NamedWindow

I am having trouble with OpenCV2.0 on Win7 32bit, I have recompiled it using MinGW 4.5.0 and everything went OK until I tried to run examples. Anytime it opens NamedWindow it crashs down. On the other side on on different machine Win7 64 bit everything runs without problem. Any idea?
Thx, Jan
It is a known problem due to some sort of "stack misalignment" with SSE under certain circumstances.
It has been posted before namedWindow() causes crash in opencv 2.3.1? (Eclipse+MinGW on XP, C++)
/Lars
Check that you are picking up the correct DLLs, and if you built with Qt, that you are getting the correct Qt DLLs.
Did you just install somethign that also uses Qt - but a different version (like AMDs codeprofiler)

Resources