I am using tsclib.dll to print labels on Bematech LB-1000. In the procedure openport () already gives the error Printer Driver is not specified.
The printer is local, USB port and I am passing its name as a parameter like this:
openport ('Bematech');
as explained in the dll instruction manual. But even following the instructions, this error continues. Using the printer's own commands, it works normally. I believe the problem is really in the dll.
Has anyone ever had this problem and do you know how to help me?
code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{$R GenericLIB.RES}
procedure openport(PrinterName:pchar);stdcall;far; external 'tsclib.dll';
procedure closeport; external 'tsclib.dll';
procedure sendcommand(Command:pchar);stdcall;far;external 'tsclib.dll';
procedure setup(LabelWidth, LabelHeight, Speed, Density, Sensor, Vertical, Offset:pchar);stdcall; far; external 'tsclib.dll';
procedure downloadpcx(Filename,ImageName:pchar);stdcall;far;external 'tsclib.dll';
procedure barcode(X, Y, CodeType, Height, Readable, Rotation, Narrow, Wide, Code :pchar); stdcall; far; external 'tsclib.dll';
procedure printerfont(X, Y, FontName, Rotation, Xmul, Ymul, Content:pchar);stdcall;far; external 'tsclib.dll';
procedure clearbuffer; external 'tsclib.dll';
procedure printlabel(NumberOfSet, NumberOfCopoy:pchar);stdcall; far;external 'C:\Windows\System32\tsclib.dll';
procedure formfeed;external 'tsclib.dll';
procedure nobackfeed; external 'tsclib.dll';
procedure windowsfont (X, Y, FontHeight, Rotation, FontStyle, FontUnderline : integer; FaceName, TextContect:pchar);stdcall;far;external 'tsclib.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
openport('Bematech');
for i:=1 to 1 do
begin
clearbuffer;
sendcommand('DIRECTION 1');
windowsfont(10, 10, 30, 0, 2, 0, 'arial', 'Exemplo LB - 1000 Delphi - Bematech');
barcode('10', '100', '128', '100', '1', '0', '2', '2', '1234567- BEMATECH');
printlabel('1', '1');
end;
closeport;
end;
end.