Einzelnen Beitrag anzeigen

Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

WritePrinter & ReadPrinter

  Alt 26. Jun 2009, 11:32
Hallo zusammen,

ich versuche nach dem Senden eines ESC-Kommandos an den Drucker Treiber eine Information anschließend über den Zustand des Auftrags zu erhalten.

Bsp.: Ich schicke eine ESC-Kommando zum Lesen des Magnetstreifens. anschließend will ich wissen was er ausgelesen hat. Dazu verwende ich die Funktion ReadPrinter.


Hier scheiterts aber, denn die Funktion kommt mit nem False zurück. Folgenden Code verende ich:

Delphi-Quellcode:
procedure TForm1.btnSendCMDClick(Sender: TObject);
var cmd : String;
    PrntName : String;
    s : String;
    hPrinter : DWord;
    DocInfo : TDocInfo1;
    dwBytesWritten : DWord;
    sDocumentTitle : string;
begin
  if Trim(edtCMD.Text) <> 'then
  begin
    cmd := chr(27) + Trim(edtCMD.Text) + #13 + #10;

    sDocumentTitle := 'Printer command';

    PrntName := myPrinter; // globale Variable. Druckername wird über dropdown box ausgewählt und gesetzt
    PrntRes := false;
    try
      OpenPrinter(Pchar(PrntName), hPrinter, nil);

      DocInfo.pOutputFile:= nil;
      DocInfo.pDatatype:= 'RAW';
      DocInfo.pDocName:= PChar(sDocumentTitle);

      StartDocPrinter(hPrinter, 1, @DocInfo);

      StartPagePrinter(hPrinter);

      PrntRes := WritePrinter(hPrinter, Pointer(Cmd), Length(Cmd), dwBytesWritten);

      EndPagePrinter(hPrinter);

      EndDocPrinter(hPrinter);

      if PrntRes then
        PrntRes := ReadPrinter(hPrinter, PChar(cmd), Length(cmd), dwBytesWritten);

      ClosePrinter(hPrinter);
    except
    end;
  end;
end;
So funktioniert das aber alles nicht.

Danke & Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat