Der Code sieht so aus, als ob keine der Komponenten (BDE oder FireDAC) zum Einsatz kommt, sondern man die manuelle Druckschleife mit eigener Datenversorgung vorgezogen hat - quasi Programmierung per API
Der Fehlercode -4 sagt ja, dass eine Druckfunktion aufgerufen wurde, obwohl gar keiner gestartet wurde… denke, dass hier schlicht die Reihenfolge nicht stimmt… LlXSetParameter-Aufrufe sollte erst NACH LlPrintWithBoxStart aufgerufen werden.
Wenn man aber das Databindung (Datenkommen aus einem DataSet oder sowas) von BDE oder FireDAC verwenden möchte, dann muss man keine eigene Druckschleife verwenden. Dann müsste man das Event SetPrintOptions in der Komponenten (siehe auch Export ohne Benutzerinteraktion mit OCX / VCL und .NET) verwenden und dort LlXSetParameter aufrufen - das zeigt sogar eines der mitgelieferten Delphi-Beispiel - “Export Example” oder so heißt es.