Du kannst auch Dein Memo Zeile für Zeile drucken. In etwa so (ungetestet):
Delphi-Quellcode:
const LineHeight = 30; //eine x-beliebige Zeilenhöhe definieren
var i : integer;
//und jetzt statt PDF.VCLCanvas.TextOut(100,100,Memo1.Text);
for i := 0 to Memo1.Lines.Count - 1 do
begin
PDF.VCLCanvas.TextOut(100,100 + i*LineHeight,Memo1.Lines[I]);
end;
Je nachdem, wieviele Zeilen Dein Memo beinhaltet, müsstest Du natürlich bei jedem Ausdruck auf einen eventuell notwenig werdenden Zeilenumbruch prüfen.
Zu deinem zweiten Problem passt irgendwie nicht der gepostete Code, oder du müsstest bbitte genauer beschreiben, welcher Fehler wann genau kommt