Dot Matrix Printer problem
Hello All:
We use ReportBuilder 6.01/Delphi 5.01 and have a printing problem.
We just upgraded to RB6.01/Delphi 5.01 from RB 3.52/Delphi 3.02. Since
upgrading, our test customer is reporting a problem. Their Epson LQ2180
printer will advance the paper correctly the first time a report is printed.
Once a report is printed, the Epson advances the next paper too little in
the printer. It is as if the software is messing with the printers advance
mechanism.
The problem can be solved by simply turning the printer off, then back
on.
The problem appears to occur only on reports printed from a .rtm file.
When we print reports embedded in the .exe, there is not a problem.
We wonder if the use of custom paper sizes might be causing the problem.
We generally set the papersize 2 inches longer than the margins+detail band
( no header or footer band exist ). We allow the customer to increase the
margins to tune report printing to their printers specific advance.
Can anybody offer us any insight or suggest how we could address this
issue ???
Thank you.
Neil Huhta
Profit Monster Data Systems LLC
Our reports are stored in .rtm files. Using an E
This discussion has been closed.
Comments
the reports that are on forms?
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
buffer to allow for margin settings in the pagesize. Previously the pagesize
may have had alot larger buffer.
Neil Huhta
affecting where the printer thinks it should start printing. The
differences between RB3 and RB6 is large. The best way to control how a
report prints to a dot-matrix is to print the report to a report emulation
text file, and the send the text file to the printer.
-----------------------------------------------
Tech Tip: Send TextFile to Printer
-----------------------------------------------
I designed a application that exports the report to a .txt
file using ReportTextFile device.
How can I Send the text file to the printer?
The following procedure will send the .txt file to
the printer using Delphi's TPrinter object.
uses
Printers;
procedure SendTextFileToPrinter(aFileName: String);
var
lsLines: TStringList;
lOutputFile: TextFile;
liIndex: Integer;
begin
lsLines := TStringList.Create;
try
lsLines.LoadFromFile(aFileName);
AssignPrn(lOutputFile);
Rewrite(lOutputFile);
for liIndex := 0 to lsLines.Count-1 do
Writeln(lOutputFile, lsLines[liIndex]);
CloseFile(lOutputFile);
finally
lsLines.Free;
end;
end;
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
We need to maintain precise control over what is printed where on the
form. Does this solution require adherance to the 1/6 inch incremental rule
???
If so, I'd have to redesign our whole business and that seems to be
unrealistic. I'll play with this some more. It would take a year to convert
all of our custom reports if they had to be converted. If not, please
elaborate more.
Neil Huhta
Profit Monster Data Systems LLC
problem on one printer. Is it possible to change the paper size until the
report prints correctly on subsequent prints, or would that ruin how it
prints on all other printers? What if you use the generic text printer
driver instead of the Epson driver, as a test?
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
I dont know what the problem is - it may be a logic board problem on the
printer itself. We will play with it and solve the problem. Version 6.01
really rocks.
Neil Huhta