После распечатывания таким способом
int lines_kol = Memo1->Lines->Count;
TPrinter *Prntr = Printer();
TRect r = TRect(200, 200, Prntr->PageWidth - 200, Prntr->PageHeight - 200);
Prntr->BeginDoc();
Prntr->Canvas->TextRect(r, 200, 200,Memo1->Lines->Text);
Prntr->EndDoc();
вместо русских букв печатаются иероглифы.
Пробую изменить кодировку текста, но после запуска программы вылетает непонятная ошибка. Подскажите из-за чего она возникает.
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int lines_kol = Memo1->Lines->Count;
TPrinter *Prntr = Printer();
TRect r = TRect(200, 200, Prntr->PageWidth - 200, Prntr->PageHeight - 200);
Prntr->BeginDoc();
for(int i = 0; i < lines_kol; i++)
{
char *newstr;
AnsiString st=Memo1->Lines->Strings[i];
OemToChar(st.c_str(),newstr);
Prntr->Canvas->TextRect(r, 200, 200,AnsiString(newstr));
}
Prntr->EndDoc();
}