Работает в Delphi Firemonkey для Ma c OS64.
Попытка прочитать и затем установить переменную Apple вызывает «paperName», который является типом бумаги (letter, legal, envelope, et c.) Я знаю, что доступ к нему осуществляется через NSPrinter.PaperName? но я не понимаю, как закодировать FMX для доступа к нему.
Я использую поваренный код для получения бумажного прямоугольника:
FPrintInfo := TNSPrintInfo.Wrap(TNSPrintInfo.OCClass.sharedPrintInfo);
FPrintInfo.retain;
PMGetAdjustedPaperRect(FPrintInfo.PMPageFormat, @PaperRect);
FPrintInfo.release;
, но я совсем не знаком с Ма c кода, поэтому мои попытки подключить и воспроизвести этот код для получения имени бумаги не увенчались успехом.
Спасибо за вашу помощь.
Дейв,
Спасибо. Извините, я действительно не дал вам достаточно информации. Код, который я предоставил, работает, чтобы получить бумажный прямоугольник.
Кроме того, я пытаюсь получить название статьи, и я не могу понять, какая функция мне это даст.
Я пытаюсь использовать PMGetPageFormatPaper (FPrintInfo .PMPageFormat, @PaperTypeS); но я думаю, что, возможно, я не объявляю PaperTypeS правильно.
Я пытаюсь сделать следующее:
function getPaperShape: string;
var
FPrintInfo: NSPrintInfo;
PaperRect: PMRect;
paperwidth,paperheight:double;
paperTypeS:string;
begin
FPrintInfo := TNSPrintInfo.Wrap(TNSPrintInfo.OCClass.sharedPrintInfo);
FPrintInfo.retain;
PMGetAdjustedPaperRect(FPrintInfo.PMPageFormat, @PaperRect);
PMGetPageFormatPaper(FPrintInfo.PMPageFormat, @PaperTypeS);
FPrintInfo.release;
paperwidth:= PaperRect.right-PaperRect.left;
paperheight:= PaperRect.bottom-PaperRect.top;
end;
Это явно не правильно, так как я ничего не возвращаю в paperTypeS. Я пытался объявить paperTypeS как NSPrinter.PaperName, или просто как PaperName, или как PMPaperName, но, очевидно, я просто догадываюсь, и ни один из них не распознается FMX как допустимые типы.
Делает ли это больше смысл?
Опять спасибо.
Скотт