Pozdrav svima,
Hitno mi je potrebna bilo kakva pomoc oko povezivanja POS aplikacije sa fiskalnim stampacem SHARP ER-A457P.
Da li je neko nesto tako vec radio? Imam neku ActiveX kontrolu ECRPrinter medjutim njihov primer iz Excela mi ne radi.
Kada pokusam da se kao u njihovom primeru zakacim na kasu delphi izbacuje poruku:
"Access violation at address 0045CC9F in module ... ... .. .. ".
Njihov primer u Excelu( nalazi se u prilogu ):
======================================================
Option Explicit
Private Sub btnEcho_Click()
With UserForm1.ECRPrn1
.Model = Worksheets("Uvod").Range("Model")
.TerminalNo = Worksheets("Uvod").Range("TerminalNo")
.CommPort = Worksheets("Uvod").Range("Port")
.CommPortSettings = Worksheets("Uvod").Range("Settings")
.SingleSales = Worksheets("Uvod").Range("SingleSales")
.SendRetry = Worksheets("Uvod").Range("SendRetry")
.ReceiveRetry = Worksheets("Uvod").Range("ReceiveRetry")
.RetryDelay = Worksheets("Uvod").Range("RetryDelay")
.TimeUpSend = Worksheets("Uvod").Range("TimeUpSend")
.TimeUpSendPrint = Worksheets("Uvod").Range("TimeUpSendPrint")
End With
With UserForm1.ECRPrn1
Range("EchoTest") = .ecrEcho("Test komunikacije")
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> Range("EchoTest").Row And Target.Column <> Range("EchoTest").Column Then _
Range("EchoTest").Value = False
End Sub
===============================================================================
Moj primer u Delpiju:
==================
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ECRPrinter_TLB, StdCtrls, ActiveX, OleCtrls, OleServer, StdVCL,
OleConst, OleCtnrs, OleDB, OleDlg;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Printer : _ECRPrn;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
strECHO : WideString;
Test : boolean;
begin
Test := False;
try
With Printer do
begin
Model := 6; //Ovde stane Delphi
TerminalNo := '1';
CommPort := 1;
CommPortSettings := '9600,o,7,1';
SingleSales := True;
SendRetry := 2;
ReceiveRetry := 2;
RetryDelay := 2;
TimeUpSendPrint := 2;
TimeUpSend := 1;
end;
strECHO := 'Test komunikacije';
Test := Printer.ecrEcho(strECHO)
except
on E:Exception do
ShowMessage( Printer.LastInquiry );
end;
end;